使用IWebHostEnvironment接口的属性访问网站的URL/主机名。
示例代码:
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
public static void Main(string[] args)
{
var host = CreateHostBuilder(args).Build();
var env = host.Services.GetService();
var url = string.Format("{0}://{1}",
env.IsHttps ? "https" : "http",
env.WebRootPath);
// 在控制台输出网站的URL
Console.WriteLine($"Website URL: {url}");
host.Run();
}
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup();
});
}
以上代码中,我们通过获取IWebHostEnvironment实例来获取网站的URL/主机名,并使用控制台输出了该URL。具体来说,我们通过访问IWebHostEnvironment接口的IsHttps属性判断当前是否是HTTPS请求,然后使用WebRootPath属性获取网站的根路径,最后将协议和主机名组合在一起即可获取网站的完整URL。