跳到主要内容

ASP.NET Core项⽬如何设置IP地址和端⼝号

参考答案:

在 ASP.NET Core 项目中,您可以通过多种方式设置应用程序监听的 IP 地址和端口号。以下是设置 IP 地址和端口号的几种常见方法:

  1. 使用 UseUrls 方法: 在 Program.cs 文件中,当您构建 WebHost 时,您可以使用 UseUrls 方法来指定 IP 地址和端口号。例如:
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.UseStartup<Startup>();
                webBuilder.UseUrls("http://localhost:5001", "https://localhost:5002"); // 设置IP地址和端口号
            });
}

在这个例子中,应用程序将监听 http://localhost:5001https://localhost:5002。您可以指定任意有效的 IP 地址和端口组合。

  1. 使用环境变量: ASP.NET Core 支持使用环境变量来配置应用程序。您可以设置 ASPNETCORE_URLS 环境变量来指定应用程序监听的地址。例如,在 Windows 上,您可以通过命令提示符或 PowerShell 设置环境变量:
set ASPNETCORE_URLS=http://localhost:5001;https://localhost:5002

或者在 Linux 或 macOS 上:

export ASPNETCORE_URLS="http://localhost:5001;https://localhost:5002"

当您运行应用程序时,它将使用这些环境变量中指定的 URL。

  1. 使用 launchSettings.json: 对于开发环境,您可以在项目的 Properties 文件夹中的 launchSettings.json 文件中设置应用程序的 URL。这个文件通常用于 Visual Studio 或其他开发工具的调试配置。例如:
{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:5001",
      "sslPort": 44357
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "weatherforecast",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "YourProjectName": {
      "commandName": "Project",
      "dotnetRunMessages": "true",
      "launchBrowser": true,
      "launchUrl": "weatherforecast",
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

在这个例子中,applicationUrl 字段指定了应用程序应该监听的 URL。当您在 Visual Studio 中调试时,它将使用这些设置。

请注意,当您部署到生产环境(如 IIS、Kestrel 背后、Docker 容器等)时,您可能需要使用不同的配置方法。对于生产环境,您可能需要在 Web 服务器配置、Docker 配置文件或云提供商的设置中指定端口和绑定。

最后,请确保您选择的端口没有被其他应用程序占用,并且在您的网络环境中是可访问的。如果您尝试绑定到低于 1024 的端口(这些是保留端口),您可能需要管理员权限。