文档章节

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

丁川
 丁川
发布于 2016/10/02 01:02
字数 714
阅读 39
收藏 2
点赞 0
评论 0

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,就是这个环境变量控制的。

© 著作权归作者所有

共有 人打赏支持
丁川
粉丝 4
博文 52
码字总数 4829
作品 0
南宁
程序员
为什么你需要将代码迁移到ASP.NET Core 2.0?

随着 .NET Core 2.0 的发布,.NET 开源跨平台迎来了新的时代。开发者们可以选择使用命令行、个人喜好的文本编辑器、Visual Studio 2017 15.3 和 Visual Studio Code 来开发自己的 .NET Core ...

powertoolsteam ⋅ 2017/09/26 ⋅ 0

为什么你需要将代码迁移到ASP.NET Core 2.0?

随着 .NET Core 2.0 的发布,.NET 开源跨平台迎来了新的时代。开发者们可以选择使用命令行、个人喜好的文本编辑器、Visual Studio 2017 15.3 和 Visual Studio Code 来开发自己的 .NET Core ...

powertoolsteam ⋅ 2017/09/26 ⋅ 0

使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(十)-- 发布(Windows)

第一部分、自托管 一、依赖.Net Core环境 修改 project.json 文件内容,增加发布时需要包含文件的配置内容 1 {2 "version": "1.0.0-*",3 "testRunner": "xunit", // 设置测试工具为xunit4 "b...

鼎六智能 ⋅ 2016/10/17 ⋅ 0

ASP.NET 5 RC1 升级 ASP.NET Core 1.0 RC2 记录

升级文档: Migrating from DNX to .NET Core Migrating from ASP.NET 5 RC1 to ASP.NET Core 1.0 RC2 Migrating your Entity Framework Code from RC1 to RC2 ASP.NET Core 1.0 RC2 发布:解......

技术小哥哥 ⋅ 2017/02/06 ⋅ 0

让我们 Core 在一起:ASP.NET Core & .NET Core

Microsoft .NET 自 2002 年发行 v1.0 以来,已经过了近 14 个年头,在这 14 年里面,.NET 日渐成熟并成为 Microsoft 的重要开发平台之一,只要是在 Windows 平台上的相关应用,几乎都可以使用...

德国骨科院长 ⋅ 2016/04/29 ⋅ 25

ASP.NET Core: 全新的ASP.NET !

背景 最新版本的 ASP.NET 叫做 ASP.NET Core (也被称为 ASP.NET 5) 它颠覆了过去的 ASP.NET。 什么是 ASP.NET Core? ASP.NET Core 1.0 是一个开源跨平台的开发框架,用于构建基于云的现代 We...

葡萄城控件技术团队 ⋅ 2016/07/08 ⋅ 0

Web Host Builder in ASP.NET Core 2.0

I want to share something from the first chapter of my upcoming book Front-end Development with ASP.NET Core, Angular, and Bootstrap. While reviewing and updating the code from ......

Simone Chiaretta ⋅ 2017/12/18 ⋅ 0

Jexus 5.8.1 BETA1,全面支持ASP.NET5跨平台运行

作为一款运行于Linux/FreeBSD平台上以支持ASP.NET著称的高性能HTTP服务器和反向代理服务器,继5.6版完成对OWIN标准应用的支持后,就把着力点放到了对ASP.NET5的支持。 但是,由于ASP.NET5与之...

yunei ⋅ 2015/12/27 ⋅ 9

ASP.NET Core Kestrel 中使用 HTTPS (SSL)

在ASP.NET Core中,如果在Kestrel中想使用HTTPS对站点进行加密传输,可以按照如下方式 申请证书 这一步就不详细说了,有免费的和收费的,申请完成之后会给你一个结尾的文件。 添加NuGet包 nu...

鼎六智能 ⋅ 2016/10/18 ⋅ 0

.NET Core容器化之多容器应用部署@Docker-Compose

1.引言 紧接上篇.NET Core容器化@Docker,这一节我们先来介绍如何使用Nginx来完成.NET Core应用的反向代理,然后再介绍多容器应用的部署问题。 2. Why Need Nginx .NET Core中默认的Web Ser...

圣杰 ⋅ 2017/12/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 44分钟前 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 7

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部