ASP.NET Core应用程序可以在多种运行模式下运行,包括自宿主(Self-Hosting)、IIS服务承载、桌面应用程序、服务承载。
因此选择和时的模式很重要。
自宿主(Self-Hosting)
自宿主是指 ASP.NET Core 应用程序独立运行,无需依赖于外部服务器。这种模式允许你的应用程序作为一个控制台应用程序或者一个 Windows 服务运行。通过自宿主,你可以轻松地将你的应用程序部署到各种环境中,而不需要额外的服务器软件。
-
自宿主是指 ASP.NET Core 应用程序独立运行,无需依赖于外部服务器。
-
自宿主模式允许开发者将应用程序部署到各种环境中,而不需要额外的服务器软件。
-
使用场景:适用于开发人员想要在独立的环境中运行和测试应用程序,或者将应用程序打包成桌面应用程序。
-
优缺点:
- 优点:独立运行,无需外部服务器软件;适用于快速开发和测试。
- 缺点:对于生产环境需要额外的管理和配置。
-
通过创建
WebHostBuilder
实例并调用.Build()
和.Run()
方法来启动应用程序。 -
使用注意事项:需要手动处理应用程序的部署和管理,包括配置和维护。
在自宿主模式下,你可以使用以下代码来启动你的 ASP.NET Core 应用程序:
cs
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
public class Program
{
public static void Main(string[] args)
{
// 创建主机构建器
var hostBuilder = Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
// 配置WebHostBuilder,指定启动类Startup
webBuilder.UseStartup<Startup>();
});
// 构建主机
var host = hostBuilder.Build();
// 运行主机
host.Run();
}
}
这段代码创建了一个主机,配置了 Web 主机,并指定了启动类 Startup
。通过调用 host.Run()
,应用程序开始监听传入的 HTTP 请求,并根据路由配置响应这些请求。