ASP.NET Core Web API 的默认行为是监听本地计算机上所有可用的 IP 地址和端口号。如果想要指定 Web API 的 IP 地址,可以通过以下方式实现:
在 Program.cs 文件的 CreateWebHostBuilder 方法中,使用 UseUrls 方法指定要使用的 IP 地址和端口号:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://192.168.0.10:5000")
.UseStartup();
上面的示例代码中,将 IP 地址设置为 192.168.0.10,端口号设置为 5000。如果要同时监听多个 IP 地址和端口号,可以在 UseUrls 方法中传递逗号分隔的多个 URL。
如果需要在代码中获取当前使用的 IP 地址,可以通过以下方式实现:
var addresses = Dns.GetHostAddresses(Dns.GetHostName());
foreach (var address in addresses)
{
if (address.AddressFamily == AddressFamily.InterNetwork)
{
Console.WriteLine($"Current IP Address: {address}");
}
}
上面的示例代码中,使用 Dns.GetHostName 方法获取本机计算机的主机名,然后再使用 Dns.GetHostAddresses 方法获取主机名对应的 IP 地址信息。最后,遍历 IP 地址信息并返回第一个 IPv4 的地址。