大家好,我是灰太狼的梦想。今天开始带领大家一起学习ASP.NET Core 5.0最新的技术。当然我写这篇博客的时候.NET 6预览版已经出来了。但是我们还是先学习.NET5,因为这个是稳定的,可以用于生产环境。
微软公司大家也知道,就这个尿性。技术出来很快。不过我们作为程序员,哪有停止不前的道理,程序员就是活到老,学到老的职业。所以为了我们能够,跟上时代的步伐,从今天起,我开始带领大家一起学习。微软现在的眼光很独到,踩准了云时代的步伐,大数据时代,云时代,我们拥抱开源,拥抱.net core.一定不会错!
废话说了一大堆,开始进入正题。这个系列,我主要根据微软的官方文档以及参考国外牛人的博客,经过自己的加工理解,记录自己学习.NET Core的过程,如果写的哪里有不对的,欢迎指正,如果觉得我写的还不错,也别吝啬,给我点一个小红心,谢谢。这篇主要介绍ASP.NET Core中的Startup类。
Startup类的作用就是:配置应用程序的服务,以及配置应用程序的请求管道。
一个ASP.NET Core应用程序,必须包含启动类.默认情况下,启动类的名字就是Startup,当然我们也可以改成任意名字,只要我们喜欢,不过根据约定大于配置原则,我们不推荐改名字,就直接默认框架帮我们建好的名字即可,也就是—Startup. 如图,我们建了一个空白的ASP.NET Core应用程序。打开Startup类文件:
我们可以清楚的看到:Startup类包含两个方法,一个ConfigureServices,一个Configure方法。
- ConfigureServices方法配置应用程序的服务,一个服务就是可以重复使用的组件,可以提供应用程序功能。服务是通过依赖注入的方式,或者ApplicationServices来注入到应用程序中使用的。
- Configure方法是用来创建应用程序的请求处理管道的。请求管道是通过给IApplicationBuilder实例(这里是app)配置中间件实现的。
- 可以看出Startup类中Configure是必须要有的,ConfigureServices方法是可选的,也就是有服务需要注入的时候,就要有,没有服务注入的话,就可以不用ConfigureServices方法。
- 运行的时候ConfigureServices在Configure方法之前被调用。
这两个方法,在应用程序启动的时候就会被调用。
我们来看一下Program类:
在Program类中,我们可以清晰的看到启动类Startup是通过调用主机的UserStartup<>泛型方法来配置使用的。这里的名字我们可以随便改,不过不推荐改,就使用Startup就行。
题外篇,应用程序可以没有Startup类,不过那样的话,我们就需要把配置中间件和配置服务的代码,写在Program类的Main方法中了。此外,应用程序,针对不同的环境,比如生产环境,开发环境,可以有多个Startup类。这个属于用到的少的,具体用到的时候,大家可以去看官网文档。
到这里Startup类基本就讲完了。感谢阅读。