激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - ASP.NET Core設(shè)置URLs的五種方法

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

2021-12-21 17:49GIS學(xué)習(xí)班 ASP.NET教程

這篇文章主要介紹了ASP.NET Core設(shè)置URLs的五種方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前言

在使用asp.net core 3.1開發(fā)時(shí),需要配置服務(wù)器監(jiān)聽的端口和協(xié)議,官方幫助文檔進(jìn)行簡(jiǎn)單說明,文檔中提到了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)行說明,默認(rèn)情況下,啟動(dòng)asp.net core后,監(jiān)聽以下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/

前提條件

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

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

如圖,我這里的程序根目錄為d:\aspnetcoreurl\aspnetcoreurl\bin\debug\netcoreapp3.1,使用的終端為微軟官方的windows powershell

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

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

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

?
1
2
3
4
5
6
# 環(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è)置

?
1
2
3
4
5
6
7
8
# 環(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)境變量后,需要打開新的windows命令行窗口才會(huì)使用環(huán)境變量生效

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

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

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

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

?
1
dotnet aspnetcoreurl.dll --urls http://localhost:7001;https://localhost:7011

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

方法3 使用配置文件

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

?
1
2
3
{
    "urls":"http://localhost:7002;http://localhost:7012"
}

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

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

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

方法4 使用useurls

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

?
1
2
3
4
5
6
7
8
public static ihostbuilder createhostbuilder(string[] args) =>
    host.createdefaultbuilder(args)
        .configurewebhostdefaults(webbuilder =>
        {
            webbuilder.usestartup<startup>();
            // 使用useurls設(shè)置監(jiān)聽的端口和協(xié)議
            webbuilder.useurls("http://localhost:7003", "https://localhost:7013");
        });

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

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

方法5 使用kestrel

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

打開program.cs文件,修改createhostbuilder方法內(nèi)容

?
1
2
3
4
5
6
7
8
9
10
11
12
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());
            });
        });

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

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

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

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

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

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

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

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

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

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

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

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

生效的是環(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í)問題,經(jīng)過測(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)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://www.cnblogs.com/gyhgis/p/15517043.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 性生活香蕉视频 | 国产精品一区二区三区在线播放 | 羞羞答答tv | 国产精品久久久久久久久久妇女 | 免费在线看黄 | 成人在线视频免费观看 | 欧美高清在线精品一区二区不卡 | 天天草夜夜| 天天碰夜夜操 | 免费日韩片 | 国产午夜免费不卡精品理论片 | 国产亚洲高清视频 | 精国产品一区二区三区四季综 | 97青青 | 九九热在线精品视频 | 特片网久久 | 一区二区久久 | 噜噜噜影院 | 香蕉国产精品 | 鲁久久| 日韩美香港a一级毛片 | 在线观看中文字幕国产 | 91精品国产九九九久久久亚洲 | 黄色a级片视频 | 国产在线一区二区三区 | 中国7777高潮网站 | 福利在线小视频 | 91久久国产露脸精品国产护士 | 日韩精品中文字幕在线观看 | 国产羞羞网站 | 毛片视频播放 | 国产精品一区网站 | 亚洲国产成人久久成人52 | 国产1区在线 | 亚洲一二区视频 | 国产一区二区免费看 | 国产精品久久久久久模特 | 国产一级午夜 | 日本一区视频在线观看 | 香蕉国产在线视频 | 国产福利不卡一区二区三区 |