《深入浅出.NET框架设计与实现》笔记6.1——ASP.NET Core应用程序多种运行模式之一——自宿主(Self-Hosting)

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 请求,并根据路由配置响应这些请求。

相关推荐
用户298698530142 小时前
C#:将 HTML 转换为图像(Spire.Doc for .NET 为例)
后端·.net
聪明的笨猪猪2 小时前
Java Spring “IOC + DI”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
im_AMBER2 小时前
Web 开发 24
前端·笔记·git·学习
SEO-狼术2 小时前
Turn Raw Data into Clear Insights
.net
烧冻鸡翅QAQ4 小时前
考研408笔记
笔记·考研
StarPrayers.4 小时前
卷积层(Convolutional Layer)学习笔记
人工智能·笔记·深度学习·学习·机器学习
能不能别报错4 小时前
K8s学习笔记(十五) pause容器与init容器
笔记·学习·kubernetes
无言以对,沉默不语,随你随你。4 小时前
【解决办法】GitBash不能在任意文件夹打开
经验分享·笔记·git
牛马大师兄5 小时前
STM32独立看门狗IWDG与窗口看门狗WWDG知识梳理笔记
笔记·stm32·单片机·嵌入式硬件·嵌入式·看门狗
wan5555cn6 小时前
Windows 11系统鼠标键盘被禁用问题的全面解决方案
windows·笔记·深度学习·计算机外设