本篇文章给大家分享的是有关如何在ASP。网络核心项目中对url进行监听,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
ASP。网是什么
ASP。网是开源,跨平台,高性能,轻量级的网络应用构建框架,常用于通过HTML, CSS, JavaScript以及服务器脚本来构建网页和网站。
默认情况下,ASP。网络核心应用会监听一下2个Url:
- <李>
http://localhost: 5000
李> <李>https://localhost: 5001
李>在本篇博文中,我将展示如何使用五种不同的方式改变应用监听的Url。
在ASP。网络核心项目启动时,有多种配置监听Url的方式,在我之前的一篇博客中,已经展示了在ASP。1.0网络核心中如何应用不同的方式配置,在ASP。网络核心3。x中,大部分方式还是一样的。
- <李>
UseUrls()——在程序。cs配置程序监听的url
李> <李>环境变量,使用DOTNET_URLS或者ASPNETCORE_URLS配置url
李> <李>命令行参数,当使用命令行启动应用时,使用,url参数指定url
李> <李>使用launchSettings。json -使用applicationUrl属性来配置Url
李> <李>KestrelServerOptions.Listen()——使用听()方法手动配置Kestral服务器监听的地址
李>下面我来详细说明一下每个一种方式。
<强>哪些Url可以使用? 强>
在本篇我描述是你可以绑定的“URLs",但是你不能使用所有的Url。这里有三种你可以绑定的url
IPV4和IPV6的主机名(例如<代码> http://localhost: 5000> 代码)。这种URL的格式是<代码>{计划}://{loopbackAddress}:{港口}代码>
在你机器上可用的指定IP地址(例如http://192.168.8.31:5005 <代码> 代码>),这种URL的格式是<代码>{计划}://{IPAddress}:{港口}代码>针对给定端口,使用“任何“IP地址(例如<代码> http://*: 6264> 代码),这种URL的格式是<代码>{计划}://*:{港口}代码>
在以上说明的几种格式中,端口号也可以是选填的,如果你忽略它,系统会使用默认端口(http使用80端口,https使用443端口)。
使用哪一种格式的URL取决于你的部署方式,例如,如果你你将多个应用托管在同一台“裸机”中,你可能需要显示指定IP地址。但是如果你使用了容器托管,那么你可以使用<代码> localhost> 代码作为地址。
注意,针对“任何“IP地址的格式——你不一定必须使用<代码> *> 代码,你可以使用任何字符,只要不是IP地址或者<代码> localhost> 代码,这意味着你可以使用<代码> http://* 代码>,<代码> http://+ 代码>,<代码> http://mydomain 代码>,<代码> http://example.org> 代码。以上所有字符串都具有相同的行为,可以监听任何IP地址。如果你想仅处理来自单一主机名的请求,你需要额外配置主机过滤。
现在你已经了解了你需要监听的url类型,接下来你就需要告诉你的应用如何使用它们。我这里我将展示五种可能使用到方式。
<强> UseUrls() 强>
首先,最简单的方式,当配置<代码> IWebHostBuilder> 代码时,你可以使用<代码> UseUrls() 代码>方法硬编码绑定的url。
public class 程序 { public 才能;static  void Main (string [], args) {才能 ,,,CreateHostBuilder (args) .Build () .Run (); ,,} public 才能static IHostBuilder  CreateHostBuilder (string [], args),=比; ,,,Host.CreateDefaultBuilder (args) ,,,,,.ConfigureWebHostDefaults (webBuilder =比; ,,,,,{ ,,,,,,,webBuilder.UseStartup(); ,,,,,,,webBuilder.UseUrls (“http://localhost: 5003“,,”https://localhost: 5004“); ,,,,,}); }
硬编码一个url从来都不是一个干净可扩展解决方案的选择,所以这种方式通常只会用来做演示。
幸运的是,你也可以从外部配置文件,环境变量或者命令行参数中加载url配置。
<强>环境变量强>
。网络核心中允许使用两种配置方式
- <李>
应用程序级配置是你通常在应用程序中使用的配置,它是用<代码> appSettings。json> 代码配置文件和环境变量中加载的。
李> <李>主机配置用于配置应用程序的基础配置,例如主机环境和主机url
李>当我们在考虑如何配置应用url时,主机配置是让我们感兴趣的一种。默认主机配置的值来自三个不同的地方。