• Asp.Net Core 入门篇


    1.启动顺寻

    public class program{

    public static void Main(string[] args)

      CreateWebHostBuilder(args).Build().Run();

    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args)=>WebHost.CreateDefaultBuilder(args).UseStartup<Startup>();

    }

    在Main方法中可以看到,整个程序首先是由CreateWebHostBuilder 方法创建一个IWebHostBuilder对象,并调用它的Build方法得到IWebHost对象,然后调用该对象的Run方法运行起来的。在CreateWebHostBuilder内部,调用了WebHost类的静态方法CreateDefaultBuilder类型的对象,该类型的对象具有一些默认设定的值,之后又调用了UseStartup方法进一步来配置应用程序的启动。

    由CreateDefaultBuilder方法创建IWebHostBuilder对象时所包含的主要默认选项如下:

    配置Kestrel服务器作为默认的Web服务器来负责处理Web请求与响应

    使用当前目录作为应用程序的内容目录(ContentRoot),该目录决定了Asp.NET Core查找内容文件(如MVC试图等)的位置

    从以ASPNETCore_开头的环境变量(如 ASPNETCORE_ENVIRONMENT)中以及命令行参数中加载配置项

    从appsetting.json、appsettings.{Environment}.json、用户机密(仅开发环境)、环境变量和命令行参数等位置加载应用配置

    配置日志功能,默认添加控制台输出与调试输出

    如果应用程序被托管在IIS中,启动IIS集成,他会配置应用程序主机地址和端口,并允许补货启动错误等。

    IWebHostBuilder接口有多个扩展方法,其中有一个很重要的是UseStartup方方法,它主要向应用程序提供用于配置启动的类,而指定的这个类应具有一下两个方法:

    ConfigureServices:用于向Asp.Net Core的以来注入容器添加服务

    Configure:用于添加中间件,配置请求管道

    这两个方法都会在运行时被调用,且在应用程序的整个生命周期内,只执行一次。其中ConfigureServices方法是可选的,Configure方法是必须的。在程序启动时,他会执行ConfigureServices方法(如果有),将制定的服务放入应用程序的依赖注入容器中,然后再执行Configure方法,想请求管道中添加中间件。

     ConfigureServices方法有一个IServieCollection类型的参数,使用它能够将应用程序级别注册到Asp.Net Core默认的依赖注入容器中。Configure方法默认包含一个IApplicationBuilder类型的参数,通过它可以添加一个或多个中间件,所有添加的中间件将会对传入的Http请求进行处理,并将结果返回给位发起请求的客户端。

    当在ConfigureServices方法中向以来注入容器添加了服务以后,后面的Configure方法就可以通过参数将需要的服务注入进来。

  • 相关阅读:
    学习进度笔记13
    学习进度笔记12
    学习进度笔记11
    学习进度笔记10
    学习进度笔记9
    《架构之美》读书笔记1
    学习进度笔记8
    电话拨号盘(带触摸振动反馈)
    堆排序(小根堆)
    图论起步(长期更新)
  • 原文地址:https://www.cnblogs.com/sundh1981/p/13823372.html
Copyright © 2020-2023  润新知