当前位置:
首页 > Python基础教程 >
-
ASP.net教程之.Net core 2.x基础学习笔记(1) —— Sta
这个系列的初衷是便于自己总结与回顾,把笔记本上面的东西转移到这里,态度不由得谨慎许多,下面是我参考的资源:
ASP.NET Core 中文文档目录
记在这里的东西我会不断的完善丰满,对于文章里面一些局限于我自己知识积累的观点,希望没有跳走坚持看完的朋友,能够予以指正和鼓励.
系列目录
(1)Starup
基础知识
在 ASP.NET Core 中,Startup 类提供了应用程序的入口,所有应用程序中都有 Startup 类。
基本格式如下:
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 // Use this method to configure the HTTP request pipeline. 9 public void Configure(IApplicationBuilder app){ 10 ... 11 } 12 }
ConfigureServices:Startup 类中的公开可选方法,用来配置应用程序内的服务,通过参数获取一个IServiceCollection 实例并可选地返回 IServiceProvider.服务必须在服务容器中注册后,才可在应用和 Configure 方法中使用.例如:控制器中的构造注入,就需要先在该方法中注册,此时服务容器可以看作是IOC容器
Configure:Startup 类中的必选方法,用于指定 ASP.NET 应用程序将如何响应每一个 HTTP 请求。简单来说,你可以配置每个请求都接收相同的响应。通常将复杂的管道配置封装于 中间件(middleware) 之中,并通过扩展方法添加到 IApplicationBuilder 上。Configure 方法必须接受一个 IApplicationBuilder 参数.
需要注意的是:onfigureServices 需要在 Configure 之前被调用。这一点非常重要,这是因为像 ASP.NET MVC 中的某些功能,需要从 ConfigureServices 中请求某些服务,而这些服务需要在接入请求管道之前先被加入 ConfigureServices 中。
可用服务
ASP.NET Core 在应用程序启动期间提供了一些默认注册的应用服务和对象。你可以非常简单地使用这些服务,只需要在在 Startup 类的构造函数或是它的 Configure 与 ConfigureServices 方法中的一个包含合适的接口即可。下面定义了在 Startup 类中对每个方法可用的服务。框架服务和对象包括:
IApplicationBuilder
被用于构建应用程序的请求管道。只可以在 Startup 中的 Configure 方法里使用
IApplicationEnvironment
提供了访问应用程序属性,类似于ApplicationName 、ApplicationVersion 以及 ApplicationBasePath。可以在 Startup 的构造函数和 Configure 方法中使用。
IHostingEnvironment
提供了当前的 EnvironmentName、WebRootPath 以及 Web 根文件提供者。可以在 Startup 的构造函数和 Configure 方法中使用。
ILoggerFactory
提供了创建日志的机制。可以在 Startup 的构造函数或 Configure 方法中使用。
IServiceCollection
当前容器中各服务的配置集合。只可在 ConfigureServices 方法中被使用,通过在该方法中配置可使服务在应用程序中可用。
等等
服务扩展
如果想一次注册多个服务,而又不想在ConfigureServices方法中依次添加,该怎么办呢?
我们只需要一个扩展方法就可以搞定
1 public static class ServiceCollectionExtension 2 { 3 public static void AddSomeServices(this IServiceCollection 4 services) 5 { 6 services.AddScoped(IFirstService, FirstService); 7 services.AddScoped(ISecondService,SecondService); 8 services.AddScoped(IThirdService, ThirdService); 9 } 10 }
在ConfigureServices方法注册一下即可:
1 services.AddSomeServices();
这样,一下子就注册了3个服务,而不需要一一添加
(终)
文档信息
- 发表作者: 半路独行
- 发表出处: 博客园
- 原文地址: https://www.cnblogs.com/banluduxing/p/10704198.html
- 版权信息:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式