秋凉 发表于 2023-12-12 17:44:58

你知道如何修改ASP.NET Core默认端口吗?常用5种方法实例演示

下面针对 ASP.NET Core 中修改默认端口的五种常用方法的详细示例,分别对应 appsettings.json 配置 Kestrel 的 Endpoint、使用 UseUrls 方法、命令行参数方法、host.json 配置方法和使用 Docker 的方式。
方法一:appsettings.json 配置 Kestrel 的 Endpoint


[*]在 appsettings.json 中添加端口配置:
{
"Kestrel": {
    "EndPoints": {
      "Http": {
      "Url": "http://localhost:5001"
      }
    }
}
}
[*]在 Startup.cs 中读取配置:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

public class Startup
{
    private readonly IConfiguration _configuration;

    public Startup(IConfiguration configuration)
    {
      _configuration = configuration;
    }

    public void ConfigureServices(IServiceCollection services)
    {
      // 添加服务配置
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
      // 其他中间件配置

      var url = _configuration["Kestrel:EndPoints:Http:Url"];
      
      // 使用 Kestrel Endpoint
      app.Run(async (context) =>
      {
            await context.Response.WriteAsync($"Hello from {url}!");
      });
    }
}方法二:UseUrls 方法

在 Program.cs 中使用 UseUrls 方法来指定应用程序的 URL。
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;

public class Program
{
    public static void Main(string[] args)
    {
      CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
      Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseUrls("http://localhost:5001", "https://localhost:5002"); // 在这里指定端口号
                webBuilder.UseStartup<Startup>();
            });
}方法三:命令行参数方法

通过命令行参数在启动应用程序时指定端口。
dotnet run --urls "http://localhost:5001"方法四:host.json 配置方法

在项目根目录下创建 hosting.json 文件,指定端口配置。
{
"urls": "http://localhost:5001"
}方法五:使用 Docker 方法

在 Dockerfile 中设置环境变量,然后在 docker-compose.yml 文件中映射端口。
Dockerfile:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY bin/Release/netcoreapp3.1/publish/ App/
ENTRYPOINT ["dotnet", "App/YourApp.dll"]docker-compose.yml:
version: '3.4'

services:
web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "5001:80"# 映射容器端口到主机端口通过以上五种方法,你可以根据需要选择适合你的项目的方式来修改 ASP.NET Core 应用程序的默认端口。请根据你的需求选择其中一种或多种方法。
 


来源:https://www.cnblogs.com/hanbing81868164/archive/2023/12/12/17896989.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 你知道如何修改ASP.NET Core默认端口吗?常用5种方法实例演示