zoukankan      html  css  js  c++  java
  • Asp.Net Core 应用程序启动(翻译)

    Startup 用于配置服务和应用的请求管道。

    The Startup class

    Asp.Net Core 应用使用StartUp类。StartUp类:

    1、可以选择性的包含ConfigureServices 方法配置应用的服务。

    2、必须包含一个Configure 方法,创建应用的请求处理管道。

    ConfigureServices 和 Configure 方法在应用启动时由运行时调用。

     1 public class Startup
     2 {
     3     // Use this method to add services to the container.
     4     public void ConfigureServices(IServiceCollection services)
     5     {
     6         ...
     7     }
     8 
     9     // Use this method to configure the HTTP request pipeline.
    10     public void Configure(IApplicationBuilder app)
    11     {
    12         ...
    13     }
    14 }

    用 WebHostBuilderExtensions UseStartup<TStartup> 方法明确  Startup ,如下:

    public class Program
    {
        public static void Main(string[] args)
        {
            BuildWebHost(args).Run();
        }
    
        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .Build();
    }

    StartUp类构造函数接受 host 定义的依赖项。一个常见的使用依赖注入启动类是注入ihostingenvironment通过环境配置服务:

    public class Startup
    {
        public Startup(IHostingEnvironment env)
        {
            HostingEnvironment = env;
        }
    
        public IHostingEnvironment HostingEnvironment { get; }
    
        public void ConfigureServices(IServiceCollection services)
        {
            if (HostingEnvironment.IsDevelopment())
            {
                // Development configuration
            }
            else
            {
                // Staging/Production configuration
            }
        }
    }

    一个可代替的方式注入IHostingStartup是使用约定的方式。应用为不同的环境定义独立的Startup类(比如:StartupDevelopment),运行时会选择适当的启动类。名称后缀与当前环境匹配的类是优先的。如果应用运行在开发环境,同时包含Startup 类和 StartupDevelopment 类,StartupDevelopment 类将会被使用。

    The ConfigureServices method

    ConfigureServices  方法:

    1、可选

    2、在 Configure 方法之前由Web host调用来配置应用程序的服务

    3、配置选项按约定设置

     

    翻译于官方文档。未完待续,有错误欢迎指正。

  • 相关阅读:
    使用ANT入门例子
    React 项目中使用create-react-app创建项目引入antd样式不起作用的问题
    js中对象数组遍历,及区别
    vue中axios封装
    uni-app中开发需要注意事项
    git 提交代码和 合并分支 ,回滚代码
    vue..js3.0
    vue中强制组件重新渲染
    vuex中获取当前路由
    H5 video在移动端播放层级问题
  • 原文地址:https://www.cnblogs.com/hzz521/p/8283500.html
Copyright © 2011-2022 走看看