zoukankan      html  css  js  c++  java
  • [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
  • 相关阅读:
    基于分布式思想下的RPC解决方案--笔记
    前端对页面展示修改出现的问题------行内块元素(标签)、行内元素(标签)、块元素(标签)的区别
    POI读取带有图片(图片有的是合并单元格的)的商品列表Excel
    Springboot 默认加载文件(可直接访问、不可直接访问)是出现的问题
    for循环快还是递归快
    try catch finally 中遇到的return问题(经典)
    为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
    数据结构Java实现03----单向链表的插入和删除
    匿名内部类详解(粗略)
    非法字符: 'ufeff' idea下的解决方案
  • 原文地址:https://www.cnblogs.com/liang24/p/13331867.html
Copyright © 2011-2022 走看看