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

相关推荐
有梦想的骇客1 小时前
PyTorch学习笔记
pytorch·笔记·学习
Capricorn19882 小时前
个人知识库接入大模型频现“幻觉引用”?排查 RAG 溯源失效问题,解析知芽构建可信第三大脑的底层架构
大数据·论文阅读·人工智能·笔记·架构·论文笔记
陈年老古董2 小时前
深度学习入门笔记:从神经元到深度神经网络
人工智能·笔记·深度学习·神经网络·学习
leonkay2 小时前
C# 特性(Attribute)——【1】基础讲解
开发语言·青少年编程·面试·c#·.net·个人开发
界面开发小八哥2 小时前
界面控件DevExpress WinForms中文帮助文档 - 将基于DevExpress的.NET Framework应用迁移至最新版.NET
ui·.net·界面控件·winform·devexpress·ui开发
疯狂打码的少年3 小时前
【数据库技术】关系完整性约束(实体/参照/用户定义)
运维·服务器·数据库·笔记
sunshine22 girl4 小时前
Angular7,9,学习笔记四 父子组件传值,组件之间传值
笔记·学习
蒸蒸yyyyzwd5 小时前
cpp选手秋招学习笔记 day18
笔记·学习
Hotchip_MEMS6 小时前
从“手工作坊”到“全自动贴装”:MEMS如何重塑雾化器制造流程
人工智能·笔记·物联网·电脑·制造
维克兜率天6 小时前
【维克】技术指标是什么:从均线到MACD的数学原理
人工智能·笔记·python·算法·量化