• [ASP.NET Core开发实战]基础篇04 主机


    主机定义

    主机是封闭应用资源的对象。

    设置主机

    主机通常由 Program 类中的代码配置、生成和运行。

    HTTP项目(ASP.NET Core项目)创建泛型主机:

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }
    
        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
    

    非 HTTP 项目创建泛型主机:

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }
    
        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureServices((hostContext, services) =>
                {
                   services.AddHostedService<Worker>();
                });
    }
    

    HTTP项目与非HTTP项目的区别:

    • Main 方法相同
    • HTTP项目的CreateHostBuilder 调用 ConfigureWebHostDefaults
    • 非HTTP项目的CreateHostBuilder 调用 CreateDefaultBuilder

    适用于所有应用类型的设置

    属性名 类型 默认 环境变量 备注
    ApplicationName applicationName string 包含应用入口点的程序集的名称。 <PREFIX_>APPLICATIONNAME 要设置此值,请使用环境变量。
    ContentRoot contentRoot string 应用程序集所在的文件夹。 <PREFIX_>CONTENTROOT 若要设置此值,请使用环境变量或对 IHostBuilder 调用 UseContentRoot
    EnvironmentName environment string Production <PREFIX_>ENVIRONMENT 若要设置此值,请使用环境变量或对 IHostBuilder 调用 UseEnvironment
    ShutdownTimeout shutdownTimeoutSeconds int 5 秒 <PREFIX_>SHUTDOWNTIMEOUTSECONDS 若要设置此值,请使用环境变量或配置 HostOptions。

    适用于 Web 应用的设置

    一些主机设置仅适用于 HTTP 项目。 默认情况下,用来配置这些设置的环境变量可以具有 DOTNET_ 或 ASPNETCORE_ 前缀。

    属性名 类型 默认 环境变量 备注
    CaptureStartupErrors captureStartupErrors bool(true 或 1) 默认为 false,除非应用使用 Kestrel 在 IIS 后方运行,其中默认值是 true。 <PREFIX_>CAPTURESTARTUPERRORS 若要设置此值,使用配置或调用 CaptureStartupErrors
    DetailedErrors detailedErrors bool(true 或 1) false <PREFIX_>_DETAILEDERRORS 要设置此值,使用配置或调用 UseSetting
    HostingStartupAssemblies hostingStartupAssemblies string 空字符串 <PREFIX_>_HOSTINGSTARTUPASSEMBLIES 要设置此值,使用配置或调用 UseSetting
    HostingStartupExcludeAssemblies hostingStartupExcludeAssemblies string 空字符串 <PREFIX_>_HOSTINGSTARTUPEXCLUDEASSEMBLIES 要设置此值,使用配置或调用 UseSetting
    HTTPS_Port https_port string 未设置默认值。 <PREFIX_>HTTPS_PORT 要设置此值,使用配置或调用 UseSetting
    PreferHostingUrls preferHostingUrls bool(true 或 1) true <PREFIX_>_PREFERHOSTINGURLS 若要设置此值,请使用环境变量或调用 PreferHostingUrls
    PreventHostingStartup preventHostingStartup bool(true 或 1) false <PREFIX_>_PREVENTHOSTINGSTARTUP 若要设置此值,请使用环境变量或调用 UseSetting
    StartupAssembly startupAssembly string 应用的程序集 <PREFIX_>STARTUPASSEMBLY 若要设置此值,请使用环境变量或调用 UseStartup
    URL urls string http://localhost:5000https://localhost:5001 <PREFIX_>URLS 若要设置此值,请使用环境变量或调用 UseUrls
    WebRoot webroot string 默认值为 wwwroot。 {content root}/wwwroot 的路径必须存在。 <PREFIX_>WEBROOT 若要设置此值,请使用环境变量或对 IWebHostBuilder 调用 UseWebRoot
  • 相关阅读:
    设备坐标与逻辑坐标
    4个设备上下文DC
    VC6.0智能提示消失恢复
    VC
    JavaWeb_设置Cookie的作用路径
    JavaWeb_Cookie显示最近浏览的商品
    JavaWeb_Cookie
    MVC案例——通过配置切换底层存储源
    MVC案例——修改用户
    MVC案例——删除操作
  • 原文地址:https://www.cnblogs.com/liang24/p/13331867.html
Copyright © 2020-2023  润新知