如何在ASP。网络核心项目中对url进行监听

  介绍

本篇文章给大家分享的是有关如何在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> {计划}://{loopbackAddress}:{港口}

在你机器上可用的指定IP地址(例如http://192.168.8.31:5005 <代码> ),这种URL的格式是<代码>{计划}://{IPAddress}:{港口}针对给定端口,使用“任何“IP地址(例如<代码> http://*: 6264> {计划}://*:{港口}

在以上说明的几种格式中,端口号也可以是选填的,如果你忽略它,系统会使用默认端口(http使用80端口,https使用443端口)。

使用哪一种格式的URL取决于你的部署方式,例如,如果你你将多个应用托管在同一台“裸机”中,你可能需要显示指定IP地址。但是如果你使用了容器托管,那么你可以使用<代码> localhost>

注意,针对“任何“IP地址的格式——你不一定必须使用<代码> *> localhost> http://* ,<代码> http://+ ,<代码> http://mydomain ,<代码> http://example.org>

现在你已经了解了你需要监听的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时,主机配置是让我们感兴趣的一种。默认主机配置的值来自三个不同的地方。

如何在ASP。网络核心项目中对url进行监听