《深入浅出.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 请求,并根据路由配置响应这些请求。

相关推荐
中屹指纹浏览器22 分钟前
2026指纹浏览器故障排查与性能优化实战:从异常定位到环境稳定落地
经验分享·笔记
EQ-雪梨蛋花汤29 分钟前
【存档笔记】二阶与三阶贝塞尔曲线详解(含 De Casteljau 与公式推导)
笔记
学工科的皮皮志^_^31 分钟前
RS485学习
经验分享·笔记·单片机·嵌入式硬件·学习
阿i索40 分钟前
【蓝桥杯备赛Day4】基础算法
笔记·算法·蓝桥杯
我是唐青枫1 小时前
C#.NET ConcurrentQueue<T> 深入解析:无锁队列原理、FIFO 语义与使用边界
c#·.net
时光追逐者1 小时前
一个基于 .NET Core + Vue3 构建的开源全栈平台 Admin 系统
开源·c#·.net·.netcore·admin系统
qqqahhh1 小时前
harness engineering学习
笔记·学习
NULL指向我1 小时前
信号处理学习笔记5:卡尔曼滤波理论
笔记·学习·信号处理
Flittly1 小时前
【SpringAIAlibaba新手村系列】(5)Prompt 提示词基础与多种消息类型
java·笔记·spring·ai·springboot