.net core 学习笔记一 Program与Startup
一、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...(中间件配置参数),如:
1 public void Configure(IApplicationBuilder app, IHostingEnvironment env) 2 { 3 4 //添加用于将HTTP请求重定向到HTTPS的中间件。 5 app.UseHttpsRedirection(); 6 7 //为当前请求路径启用静态文件服务 8 app.UseStaticFiles(); 9 10 app.UseMvc(routes => 11 { 12 routes.MapRoute( 13 name: "default", 14 template: "{controller=Home}/{action=Longin}/{id?}"); 15 }); 16 }
2.自定义中间件,请参考我另一篇博文https://www.cnblogs.com/yijiayi/p/10964418.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律