ASP.NET Core应用程序编程开发中如何指定/修改端口号?

ASP.NET Core 作者: Rector 29 次阅读 · 读完约需 1 分钟 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

ASP.NET Core创建的Web应用程序中,默认的网络端口是5000,那么如何修改这个默认的端为其他可用的任意端口(比如:5001)呢?

方案一

WebHostBuilder的实例对象的UseUrls()方法中指定网络访问路径和端口,如:

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

        host.Run();
    }
}

或者,您可以使用配置参数来指定服务器网络访问路径和端口,下面是使用命令行参数来指定ASP.NET Core应用程序的访问地址:

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

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

        host.Run();
    }
}

然后,在命令行中运行dotnet run命令并指定urls参数,如:

dotnet run --urls=http://localhost:5001/

方案二

在项目根目录中创建一个hosting.json文件,然后写入如下的路径(其中,你可以指定任意可用的端口号):

{
  "urls": "http://localhost:5001"
}

然后,在Program.cs文件中引用这个配置文件,如下:

public static void Main(string[] args)
{
    var config = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("hosting.json", true)
        .Build();

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

    host.Run();
}

方案三

修改Properties文件夹中的launchSettings.json,默认生成的launchSettings.json文件内容类似如下:

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": {
      "applicationUrl": "http://localhost:51397",
      "sslPort": 44354
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "DemoCore": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

你可以根据实际情况对应修改其中的不同节点的端口。

温馨提示:本文标注有(完整示例)的示例代码可以直接粘贴在try.dot.net中运行。

阅读了该文章的人还浏览了...

本文永久链接码友网 » ASP.NET Core应用程序编程开发中如何指定/修改端口号?

发布于: 2019-06-25 14:14:58
分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册