一、Program文件: 
1.CreateWebHostBuilder():
  构建web服务
2.WebHost.CreateDefaulBuilder():
  使用默认配置,包括
  1.使用了Kestrel Web Server
  2.集成了IIS
  3.配置了Log
  4.创建了实现IConfiguration接口的对象,该对象可获取appsettings.json文件配置信息
3.UseStartup<Startup>()
  使用Startup类来配置web应用

Startup文件:
1.调用顺序是先ConfigureServices()后Configure(),由运行时调用。
2.ConfigureServices():
  将服务注册到容器中,可以是第三方组件
  配置依赖注入
  可直接在方法参数放入已经注入的配置,
  如:ConfigureServices(IConfiguration config),会通过注入的方式得到IConfiguration接口的实现,通过config.GetConnectionString()可以拿到appsetting.json的连接字符串配置信息,config.GetSection("ConnectionStrings").GetSection("ProviderName").Value则可以按一个节点一个节点下拿配置
3.Configure():
  配置http请求管道,比如:session,cookie
  将一个中间件组件添加到请求管道,例如:app.UseMvc()扩展方法将路由中间件添加到请求管道,并将MVC配置为默认处理程序。
  也可以自定义中间件

.net core内置依赖注入
在Startup文件的ConfigureServices()方法下
  1.services.AddSingleton(),创建单例对象
  2.services.AddTransient(),每次使用创建一个对象
  3.services.AddScoped(),一次http请求创建一个对象

四、 中间件
1.在Startup文件的Configure()方法下
  app.Use...(中间件配置参数),如:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{   //添加用于将HTTP请求重定向到HTTPS的中间件。
  app.UseHttpsRedirection();   //为当前请求路径启用静态文件服务
  app.UseStaticFiles();   app.UseMvc(routes =>
  {
    routes.MapRoute(
    name: "default",
    template: "{controller=Home}/{action=Longin}/{id?}");
  });
}

2.自定义中间件,请参考我另一篇博文https://www.cnblogs.com/yijiayi/p/10964418.html

.net core 学习笔记一 Program与Startup的更多相关文章

  1. .NET CORE学习笔记系列(2)——依赖注入[6]: .NET Core DI框架[编程体验]

    原文https://www.cnblogs.com/artech/p/net-core-di-06.html 毫不夸张地说,整个ASP.NET Core框架是建立在一个依赖注入框架之上的,它在应用启动 ...

  2. .NET CORE学习笔记系列(2)——依赖注入[4]: 创建一个简易版的DI框架[上篇]

    原文https://www.cnblogs.com/artech/p/net-core-di-04.html 本系列文章旨在剖析.NET Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章从 ...

  3. .NET CORE学习笔记系列(2)——依赖注入【3】依赖注入模式

    原文:https://www.cnblogs.com/artech/p/net-core-di-03.html IoC主要体现了这样一种设计思想:通过将一组通用流程的控制权从应用转移到框架中以实现对流 ...

  4. .NET CORE学习笔记系列(2)——依赖注入【1】控制反转IOC

    原文:https://www.cnblogs.com/artech/p/net-core-di-01.html 一.流程控制的反转 IoC的全名Inverse of Control,翻译成中文就是“控 ...

  5. .NET CORE学习笔记系列(2)——依赖注入[7]: .NET Core DI框架[服务注册]

    原文https://www.cnblogs.com/artech/p/net-core-di-07.html 包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IS ...

  6. .NET CORE学习笔记系列(2)——依赖注入[5]: 创建一个简易版的DI框架[下篇]

    为了让读者朋友们能够对.NET Core DI框架的实现原理具有一个深刻而认识,我们采用与之类似的设计构架了一个名为Cat的DI框架.在上篇中我们介绍了Cat的基本编程模式,接下来我们就来聊聊Cat的 ...

  7. .NET CORE学习笔记系列(2)——依赖注入【2】基于IoC的设计模式

    原文:https://www.cnblogs.com/artech/p/net-core-di-02.html 正如我们在<控制反转>提到过的,很多人将IoC理解为一种“面向对象的设计模式 ...

  8. .NET Core学习笔记(7)——Exception最佳实践

    1.为什么不要给每个方法都写try catch 为每个方法都编写try catch是错误的做法,理由如下: a.重复嵌套的try catch是无用的,多余的. 这一点非常容易理解,下面的示例代码中,O ...

  9. .NET CORE学习笔记系列 开篇介绍

    ASP.NET Core学习和使用了一段时间了,好记性不如烂笔头,通过查阅官网学习文档和一些大神们的博客总结一下.主要路线先总结一下ASP.NET Core的基础知识,然后是ASP.NET Core  ...

随机推荐

  1. 【C++】输入输出

    缓冲 C++ 的输入输出均通过缓冲区来实现.缓冲区主要是为了解决速度不匹配的问题. cin 阻塞输入.当输入缓存中无字符时则等待用户输入. 输入缓冲 输入缓冲是一种行缓冲.在输入数据只要没有碰到换行符 ...

  2. 啥叫IP地址及子网掩码?

    啥叫IP地址及子网掩码 ??? 1.IP地址的定义及分类 1.1IP地址的定义 1.2IP地址的分类 2.子网掩码 1.1  互联网上连接的网络设备和计算机都有唯一的地址,此作为该主机在Interne ...

  3. pytest(6)-Fixture(固件)

    什么是固件 Fixture 翻译成中文即是固件的意思.它其实就是一些函数,会在执行测试方法/测试函数之前(或之后)加载运行它们,常见的如接口用例在请求接口前数据库的初始连接,和请求之后关闭数据库的操作 ...

  4. 04.python语法入门--基本数据类型

    # python是一门解释型的.强类型的.动态语言​​# 一:数字类型# 1.1 整型int:记录人的年龄.等级.号码.个数# age = 18# print(type(age))​# 1.2 浮点数 ...

  5. hashlib模块&日志模块

    内容概要 hashlib模块 logging模块 第三方模块下载 内容详细 hashlib模块 hashlib 是一个提供了一些流行的hash(摘要)算法的Python标准库.其中所包括的算法有 md ...

  6. NTFS ADS(备用数据流)

    NTFS Alternate Data Stream(ADS)   1993年微软推出了基于流行的NT平台的Windows NT操作系统.之后,NTFS作为WIndows开发基于NT的操作系统时的首选 ...

  7. 最新版的Dubbo Admin 3.0 本地启动方式

    项目下载 项目地址:https://github.com/apache/dubbo-admin 如下图,使用git地址直接构建或者下载zip包构建源码都可以,我用的是下载的zip包, 项目架构说明 d ...

  8. linux可以这样玩 之 杂乱无章的随笔(不定期更新)

    文章目录 快速重命名 vim的进化 vim高亮当前行 vim列编辑 vim块编辑 vim行编辑 vim 中替换内容 vim保留当前已经编辑的内容,切换到其他用户继续编辑 修改服务的进程限制 CentO ...

  9. Typora的使用教程.md

    Typora的使用教程 原创:https://home.cnblogs.com/u/cn-zhouchao 2021.12.13 一.软件的介绍 Typora 是一款由 Abner Lee 开发的轻量 ...

  10. CobaltStrike逆向学习系列(7):Controller 任务发布流程分析

    这是[信安成长计划]的第 7 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 Controller->TeamServer 0x02 TeamServer->Beacon ...