欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET Core設(shè)置URLs的五種方法

 更新時(shí)間:2021年11月09日 10:37:56   作者:GIS學(xué)習(xí)班  
這篇文章主要介紹了ASP.NET Core設(shè)置URLs的五種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前言

在使用ASP.NET Core 3.1開(kāi)發(fā)時(shí),需要配置服務(wù)器監(jiān)聽(tīng)的端口和協(xié)議,官方幫助文檔進(jìn)行簡(jiǎn)單說(shuō)明,文檔中提到了4種指定URL的方法

  • 設(shè)置ASPNETCORE_URLS 環(huán)境變量;
  • 使用dotnet --urls 命令行參數(shù);
  • 使用urls作為鍵進(jìn)行配置;
  • 使用UseUrls擴(kuò)展方法;

為便于講清楚URLs設(shè)置方法,創(chuàng)建名為AspNetCoreUrl的ASP.NET Core Web API程序進(jìn)行說(shuō)明,默認(rèn)情況下,啟動(dòng)ASP.NET Core后,監(jiān)聽(tīng)以下URLs:

​http://localhost:5000/

​https://localhost:5001/

URL格式

主要有三種URL格式表達(dá)方式,可以查看官方文檔(https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.1)

格式1:{scheme}://{loopbackAddress}:{port},例如http://localhost:5000/、https://localhost:5001/

格式2:{scheme}://{IPAddress}:{port},例如http://127.0.0.1:5000/、https://192.168.1.100:5001/

格式3:{scheme}://*:{port},例如http://*:5000/、https://domain.com:5001/

前提條件

在開(kāi)始測(cè)試幾種URLs設(shè)置方法前,需要先生成AspNetCoreUrl程序,然后在生成的根目錄下打開(kāi)命令行工具進(jìn)行相應(yīng)的測(cè)試

如圖,我這里的程序根目錄為D:\AspNetCoreUrl\AspNetCoreUrl\bin\Debug\netcoreapp3.1,使用的終端為微軟官方的Windows PowerShell

方法1 使用環(huán)境變量

在不修改AspNetCoreUrl任何源代碼的情況下(即創(chuàng)建項(xiàng)目時(shí)的程序默認(rèn)狀態(tài))生成程序,定位到生成的根目錄下,打開(kāi)命令行終端

# 環(huán)境變量?jī)H在當(dāng)前命令行窗口生效
$Env:ASPNETCORE_URLS = "http://localhost:7000;https://localhost:7010"
# 或者使用DOTNET_URLS環(huán)境變量同樣可生效
$Env:DOTNET_URLS = "http://localhost:8000;https://localhost:8010"
# 運(yùn)行AspNetCoreUrl程序
dotnet AspNetCoreUrl.dll

如果使用Windows命令行(即cmd命令行),使用下面的方式設(shè)置

# 環(huán)境變量?jī)H在當(dāng)前命令行窗口生效
set ASPNETCORE_URLS=http://localhost:7000;https://localhost:7010
# 將ASPNETCORE_URLS變量保存到用戶環(huán)境變量中
setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010"
# 加/m參數(shù),將ASPNETCORE_URLS變量保存到系統(tǒng)環(huán)境變量中
setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010" /m
# 運(yùn)行AspNetCoreUrl程序
dotnet AspNetCoreUrl.dll

注意:使用setx設(shè)置環(huán)境變量后,需要打開(kāi)新的Windows命令行窗口才會(huì)使用環(huán)境變量生效

在Linux系統(tǒng)中使用以下命令設(shè)置環(huán)境變量

# 環(huán)境變量?jī)H在當(dāng)前終端生效,關(guān)閉終端后需要重新設(shè)置
export ASPNETCORE_URLS=http://localhost:7000;https://localhost:7010

方法2 使用命令行參數(shù)

在生成程序的根目錄下,使用dotnet --urls命令,并帶上urls參數(shù)

dotnet AspNetCoreUrl.dll --urls http://localhost:7001;https://localhost:7011

方法3 使用配置文件

在生成程序的根目錄下,打開(kāi)appsettings.json文件,添加url配置項(xiàng),然后雙擊AspNetCoreUrl.exe運(yùn)行

{
    "urls":"http://localhost:7002;http://localhost:7012"
}

運(yùn)行結(jié)果如下圖

方法4 使用UseUrls

這種方法需要修改源代碼,打開(kāi)Program.cs文件,修改CreateHostBuilder方法內(nèi)容,主要是添加UseUrls擴(kuò)展方法然后生成程序。

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
            // 使用UseUrls設(shè)置監(jiān)聽(tīng)的端口和協(xié)議
            webBuilder.UseUrls("http://localhost:7003", "https://localhost:7013");
        });

注意:運(yùn)行前需要將appsettings.json文件恢復(fù)到默認(rèn)狀態(tài),即沒(méi)有配置urls的狀態(tài),否則配置文件中設(shè)置會(huì)覆蓋代碼中的方法。

方法5 使用Kestrel

這種方法并不在官方文檔中,因?yàn)樵摲椒▋H限于使用Kestrel的時(shí)候生效,在創(chuàng)建ASP.NET Core應(yīng)用程序時(shí),默認(rèn)使用Kestrel來(lái)托管應(yīng)用,使用這種方法也有相應(yīng)的應(yīng)用場(chǎng)景,這里簡(jiǎn)單介紹下該方法的使用

打開(kāi)Program.cs文件,修改CreateHostBuilder方法內(nèi)容

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
            // 配置Kestrel服務(wù)
            webBuilder.UseKestrel(kestrelServerOptions =>
            {
                kestrelServerOptions.ListenLocalhost(7004);
                kestrelServerOptions.ListenLocalhost(7014, listenOptions => listenOptions.UseHttps());
            });
        });

優(yōu)先級(jí)

前面介紹的5種方法都在獨(dú)立運(yùn)行,如果將這5種方法同時(shí)用上,會(huì)有什么樣的效果呢,下面來(lái)測(cè)試下,為了便于測(cè)試,每種方法都使用了不同的端口進(jìn)行區(qū)分,下面顯示了使用全部方法的運(yùn)行結(jié)果:

可以看到,生效的是使用Kestrel方法,現(xiàn)在將Kestrel這種注釋掉,運(yùn)行結(jié)果如下:

可以看到此時(shí)生效的是使用命令行參數(shù)方法,如果不使用命令行參數(shù)方法,運(yùn)行結(jié)果如下:

生效的是配置文件中的設(shè)置,現(xiàn)在刪除配置文件中urls的配置,運(yùn)行結(jié)果如下:

生效的是UseUrls擴(kuò)展方法,現(xiàn)在注釋掉UseUrls方法代碼,運(yùn)行結(jié)果如下:

生效的是環(huán)境變量,如果不設(shè)置環(huán)境變量,則使用默認(rèn)值,即http://localhost:5000/https://localhost:5001/。

總結(jié)

本文介紹了ASP.NET Core幾種常用的設(shè)置URLs的方法,大家可以根據(jù)項(xiàng)目實(shí)際情況選擇其中一種或幾種,如果同時(shí)使用幾種URLs設(shè)置方法,則需要留意配置的優(yōu)先級(jí)問(wèn)題,經(jīng)過(guò)測(cè)試得出
Kestrel > 命令行 > 配置文件 > UseUrls > 環(huán)境變量 > 默認(rèn)值

如果你想自己試一試,代碼地址:
gitee:https://gitee.com/gyhgis/AspNetCoreUrl
github:https://github.com/gyhgis/AspNetCoreUrl

到此這篇關(guān)于ASP.NET Core設(shè)置URLs的五種方法的文章就介紹到這了,更多相關(guān)ASP.NET Core設(shè)置URLs 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ASP.NET Core根據(jù)環(huán)境變量支持多個(gè) appsettings.json配置文件

    ASP.NET Core根據(jù)環(huán)境變量支持多個(gè) appsettings.json配置文件

    這篇文章主要介紹了ASP.NET Core根據(jù)環(huán)境變量支持多個(gè) appsettings.json配置文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • mvc file控件無(wú)刷新異步上傳操作源碼

    mvc file控件無(wú)刷新異步上傳操作源碼

    這篇文章主要為大家分享了mvc file控件無(wú)刷新異步上傳操作源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • .Net項(xiàng)目中NLog的配置和使用實(shí)例詳解

    .Net項(xiàng)目中NLog的配置和使用實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于.Net項(xiàng)目中NLog的配置和使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用.Net具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 在 .NET Core 中使用 Diagnostics (Diagnostic Source) 記錄跟蹤信息

    在 .NET Core 中使用 Diagnostics (Diagnostic Source) 記錄跟蹤信息

    今天給大家講一下在 .NET Core 2 中引入的全新 DiagnosticSource 事件機(jī)制,為什么說(shuō)是全新呢? 在以前的 .NET Framework 有心的同學(xué)應(yīng)該知道也有 Diagnostics,那么新的 .NET Core 中有什么變化呢?跟隨小編一起看看吧
    2021-06-06
  • .net?core利用PdfSharpCore操作PDF實(shí)例教程

    .net?core利用PdfSharpCore操作PDF實(shí)例教程

    操作pdf是我們?nèi)粘i_(kāi)發(fā)中經(jīng)常遇到的功能,下面這篇文章主要給大家介紹了關(guān)于.net?core利用PdfSharpCore操作PDF實(shí)例的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • ASP.NET性能優(yōu)化八條建議

    ASP.NET性能優(yōu)化八條建議

    ASP.NET性能優(yōu)化建議包括以下幾點(diǎn)數(shù)據(jù)庫(kù)訪問(wèn)性能優(yōu)化,字符串操作性能優(yōu)化,禁用調(diào)試模式等等,感興趣的盆友可以參考下
    2013-01-01
  • relaxlife.net發(fā)布一個(gè)自己開(kāi)發(fā)的中文分詞程序

    relaxlife.net發(fā)布一個(gè)自己開(kāi)發(fā)的中文分詞程序

    relaxlife.net發(fā)布一個(gè)自己開(kāi)發(fā)的中文分詞程序...
    2007-03-03
  • ASP.NET Core中如何實(shí)現(xiàn)重定向詳解

    ASP.NET Core中如何實(shí)現(xiàn)重定向詳解

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何實(shí)現(xiàn)重定向的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • ASP.NET在IIS上注冊(cè)報(bào)0x800702e4錯(cuò)誤解決方法

    ASP.NET在IIS上注冊(cè)報(bào)0x800702e4錯(cuò)誤解決方法

    報(bào)一個(gè)0x800702e4 請(qǐng)求的操作需要提升的錯(cuò)誤。解決的方法和前面大同小異,給這個(gè)aspnet_regiis.exe創(chuàng)建一個(gè)快捷方式,給它的目標(biāo)后面加上 一個(gè)-i,再右擊這個(gè)快捷方式,以管理員身份運(yùn)行,就行了
    2012-08-08
  • ASP.NET 服務(wù)器路徑和一般資源調(diào)用

    ASP.NET 服務(wù)器路徑和一般資源調(diào)用

    ASP.NET 服務(wù)器路徑和一般資源調(diào)用,實(shí)現(xiàn)代碼。
    2009-08-08

最新評(píng)論