首页 / ASP.NET Core / 正文

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

4660 1 发布于: 2019-06-25 读完约需8分钟

问题描述

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中运行。

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: C#/.NET应用程序编程开发中在不使用循环语句的情况下如何实现复制一个集合到另一个集合?

下一篇: C#/.NET应用程序编程开发中如何判断某个进程正在运行?

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

分享扩散:

发表评论

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