文档章节

ASP.NET Core开发-如何配置Kestrel 网址Urls

AA海纳百川
 AA海纳百川
发布于 2016/10/02 01:02
字数 714
阅读 180
收藏 3

「深度学习福利」大神带你进阶工程师,立即查看>>>

ASP.NET Core中如何配置Kestrel Urls呢,大家可能都知道使用UseUrls() 方法来配置。

今天给介绍全面的ASP.NET Core 配置 Urls,使用多种方式配置Urls。

让你了解ASP.NET Core Kestrel 的地址设置。

下面我们就来了解如何配置。我将介绍4种方式来配置Urls。

 

首先我们新建一个ASP.NET Core 空应用程序。

UseUrls

大家最熟悉的一种也就是使用UseUrls 。下面我们就来实际使用。

UseUrls 方法可以使用多个地址,也可以使用一个地址。

单个网址

UseUrls("http://localhost:5001")

多个网址

UseUrls("http://localhost:5001", "http://localhost:5002", "http://*:5003")//多个地址 *代表绑定所有本机地址 可以局域网访问,拥有外网ip 就可以外网访问

所有的代码都在 Program.cs Main 方法里

public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseUrls("http://localhost:5001", "http://localhost:5002", "http://*:5003")
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }

使用Kestrel运行程序,http://localhost:5001 http://localhost:5002 http://localhost:5003 均可访问。

配置文件

下面使用配置文件来设置网址。

首先在项目中添加一个ASP.NET 配置文件hosting.json,在配置文件中加入server.urls 节点。

{
  "server.urls": "http://localhost:5001;http://localhost:5002;http://*:5003"
}

这里首先需要添加两个引用

"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0"

然后Program.cs

public static void Main(string[] args)
        {
            var config = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("hosting.json", optional: true)
                .Build();
            var host = new WebHostBuilder()
                .UseConfiguration(config)
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }

使用Kestrel运行程序,http://localhost:5001 http://localhost:5002 http://localhost:5003 均可访问。

命令行参数

下面使用命令行参数来设置网址。

首先我们需要添加

"Microsoft.Extensions.Configuration.CommandLine": "1.0.0"

然后Program.cs

public static void Main(string[] args)
        {
            var config = new ConfigurationBuilder()
                .AddCommandLine(args)
                .Build();

            var host = new WebHostBuilder()
                .UseConfiguration(config)
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }

我们到项目目录使用命令

dotnet run --server.urls "http://localhost:5001;http://localhost:5002;http://*:5003"

然后访问 http://localhost:5001 http://localhost:5002 http://localhost:5003 均可访问。

环境变量

这里我们可以通过环境变量来设置网址。

我们可以设置系统的环境变量,也可以在VS里设置只用于调试。

首先更改Program.cs 

public static void Main(string[] args)
        {
            //环境变量
            var config = new ConfigurationBuilder()
                .AddEnvironmentVariables("LineZero_")
                .Build();

            var host = new WebHostBuilder()
                .UseConfiguration(config)
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }

在项目右键属性-》调试 ,这里我们添加变量。

添加一个名称为: LineZero_SERVER.URLS 值为:http://localhost:5001;http://localhost:5002;http://*:5003

然后启动程序,http://localhost:5001 http://localhost:5002 http://localhost:5003 均可访问。

这里我是直接在VS 里添加环境变量,只作用调试环境,如果大家希望系统级别可以使用,就在系统下设置环境变量。

顺便讲解一下 ASPNETCORE_ENVIRONMENT 这里就是环境变量,为何我们在VS 调试的时候看到的 Development,就是这个环境变量控制的。

AA海纳百川
粉丝 6
博文 53
码字总数 4829
作品 0
南宁
程序员
私信 提问
加载中
请先登录后再评论。
记一次失败的Perl + Nginx + FastCGI 配置过程

这两天心血来潮,不知道为什么和 Perl + Nginx + FastCGI 配置 耗上了。但是失败了,记录如下: 1)安装Nginx 1.4.3 ,我的是WINDOWS 7 系统,修改配置文件如下: location ~ .(pl|cgi|perl)?...

通吃岛-低手哥
2013/10/27
1.8K
7
CDH5: 使用parcels配置lzo

一、Parcel 部署步骤 1 下载: 首先需要下载 Parcel。下载完成后,Parcel 将驻留在 Cloudera Manager 主机的本地目录中。 2 分配: Parcel 下载后,将分配到群集中的所有主机上并解压缩。 3 激...

cloud-coder
2014/07/01
6.9K
1
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22
代码生成器--Codgen

Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型这棵树的根节...

黄天政
2013/01/29
1.4W
2
Web开发组件管理器--Bower

Bower 是一个针对Web开发的包管理器。该工具主要用来帮助用户轻松安装CSS、JavaScript、图像等相关包,并管理这些包之间的依赖。 功能有些类似于Component。不同之处是,Component是围绕Git...

匿名
2013/02/01
1.2W
2

没有更多内容

加载失败,请刷新页面

加载更多

Hacker News 简讯 2020-08-15

最后更新时间: 2020-08-15 04:01 Welders set off Beirut blast while securing explosives - (maritime-executive.com) 焊工在固定炸药的同时引爆了贝鲁特爆炸 得分:215 | 评论:209 Factor......

FalconChen
今天
24
0
OSChina 周六乱弹 —— 老椅小猫秋乡梦 梦里石台堆小鱼

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @小小编辑 :《MOM》- 蜡笔小心 《MOM》- 蜡笔小心 手机党少年们想听歌,请使劲儿戳(这里) @狄工 :腾讯又在裁员了,35岁以上清退,抖音看到...

小小编辑
今天
71
1
构建高性能队列,你不得不知道的底层知识!

前言 本文收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥。 上一节,我们一起学习了如何将递归改写为非递归,其中,用到的数据结构主要是栈。 栈和队列...

彤哥读源码
今天
17
0
Anaconda下安装keras和tensorflow

Anaconda下安装keras和tensorflow 一、下载并安装Anaconda: Anaconda下载 安装步骤: 如果是多用户操作系统选择All Users,单用户选择Just Me 选择合适的安装路径 然后勾选这个,自动配置环境...

Atlantis-Brook
今天
15
0
滴滴ElasticSearch千万级TPS写入性能翻倍技术剖析

桔妹导读:滴滴ElasticSearch平台承接了公司内部所有使用ElasticSearch的业务,包括核心搜索、RDS从库、日志检索、安全数据分析、指标数据分析等等。平台规模达到了3000+节点,5PB 的数据存储...

滴滴技术
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部