ASP.NET Core Program 类
ASP.NET Core基础,参考:https://www.cnblogs.com/cqpanda/p/16834803.html
ASP.NET Core教程-跨域配置(CORS Configuration) :https://www.cnblogs.com/cqpanda/p/16846544.html
ASP.NET Core教程-认证配置(token-based authentication) :https://www.cnblogs.com/cqpanda/p/16846547.html
ASP.NET Core教程-Configuration(配置)-Cookie & Session :https://www.cnblogs.com/cqpanda/p/16846551.html
ASP.NET Core教程-Configuration(配置)- HTTPS:https://www.cnblogs.com/cqpanda/p/16846555.html
ASP.NET Core教程-Configuration(配置)-Exception & Error Handler:https://www.cnblogs.com/cqpanda/p/16856695.html
ASP.NET Core教程-Configuration(配置)-返回XML :https://www.cnblogs.com/cqpanda/p/16856698.html
ASP.NET Core教程-Configuration(配置)- Cache(缓存) :https://www.cnblogs.com/cqpanda/p/16856710.html
ASP.NET Core教程-Configuration(配置)-Swagger:https://www.cnblogs.com/cqpanda/p/16856743.html
ASP.NET Core教程-Configuration(配置)-后台服务 :https://www.cnblogs.com/cqpanda/p/16868481.html
ASP.NET Core教程-Configuration(配置)-JWT :https://www.cnblogs.com/cqpanda/p/16868483.html
ASP.NET Core教程-Configuration(配置)-配置Kestrel服务器 :https://www.cnblogs.com/cqpanda/p/16882674.html
ASP.NET Core教程-Configuration(配置)-预定义中间件-静态文件支持 :https://www.cnblogs.com/cqpanda/p/16882678.html
ASP.NET Core教程-Configuration(配置)-文件上传 :https://www.cnblogs.com/cqpanda/p/16882681.html
ASP.NET Core教程-Dependency Injection(依赖注入):https://www.cnblogs.com/cqpanda/p/16894788.html
ASP.NET Core教程-Services(服务):https://www.cnblogs.com/cqpanda/p/16894793.html
ASP.NET Core教程-Middleware(中间件) :https://www.cnblogs.com/cqpanda/p/16894814.html
ASP.NET Core教程-Routing(路由) :https://www.cnblogs.com/cqpanda/p/16907942.html
ASP.NET Core教程-Exception(异常和错误处理) :https://www.cnblogs.com/cqpanda/p/16907943.html
ASP.NET Core教程-Logging(日志) :https://www.cnblogs.com/cqpanda/p/16907949.html
ASP.NET Core教程-Filter(过滤器) :https://www.cnblogs.com/cqpanda/p/16907950.html
ASP.NET Core教程-Model Binding(模型绑定) :https://www.cnblogs.com/cqpanda/p/16921188.html
NetCore + SignalR 实现日志消息推送:https://www.cnblogs.com/laozhang-is-phi/p/netcore-vue-signalr.html
ASP.NET Core在IIS运行时直接更新程序的办法:https://www.cnblogs.com/cqpanda/p/16937638.html
参考:https://www.cnblogs.com/cqpanda/p/16834832.html
Program类是ASP.NET Core 应用程序的一个入口点,它位于应用程序的根目录下,它定义了.NET Core应用程序所需的服务和中间件组件。
Program类默认代码如下:
1 2 3 4 | var builder = WebApplication.CreateBuilder(args); var app = builder.Build(); app.MapGet( "/" , () => "Hello World!" ); app.Run(); |
注册服务和配置请求管道:
1 2 | //添加Razor Pages 服务 builder.Services.AddControllersWithViews(); |
1 2 | //添加Razor Pages 服务 builder.Services.AddRazorPages(); |
1 2 | //为应用程序注册 Identity 服务 builder.Services.AddDefaultIdentity(); |
1 2 | //注入DbContext builder.Services.AddDbContext<AppDbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString( "DefaultConnection" ))); |
1 2 3 4 5 6 7 8 9 | //依赖注入: //Singleton 单例,该实例在需要它的所有组件之间共享。因此始终使用同一实例。 builder.Services.AddSingleton<Isite, site>(); //Scoped 范围,在对应用程序的每个请求上都会创建一个范围,因此每个请求将创建一次注册为Scoped的任何组件。 builder.Services.AddScoped<Isite, site>(); //Transient 短暂,在每次被请求时都会创建,并且永不共享。 builder.Services.AddTransient<Isite, site>(); |
1 2 3 4 5 | //添加开发模式下异常处理中间件 if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } |
1 2 3 4 5 | //生产环境下添加异常处理中间件 if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler( "/Home/Error" ); } |
环境变量配置提供程序
环境类型 | 环境说明 |
---|---|
Development | 开发环境 |
Staging | 演示(临时、演示)环境 |
Production | 生产环境 |
编辑launchSettings.json文件设置环境变量
1 2 | //添加https跳转中间件,该中间件强制所有的http请求跳转到https app.UseHttpsRedirection(); |
1 2 | //添加静态文件中间件,该中间件启用静态文件服务 app.UseStaticFiles(); |
1 2 | //添加路由中间件,该中间件将请求匹配到终结点 app.UseRouting(); |
1 2 | //添加Authorization 中间件 app.UseAuthorization (); |
1 2 | //添加 Authentication 中间件 app.UseAuthentication(); |
1 2 | //添加路由终结点中间件,该中间件执行匹配的终结点 app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); |
1 2 3 4 | //添加路由中间件匹配进入的url请求并且映射他们到actions方法 app.MapControllerRoute( name: "default" , pattern: "{controller=Home}/{action=Index}/{id?}" ); |
MemoryConfigurationSource(内存配置提供程序)
1 2 3 4 | var mySettings = new Dictionary< string , string > { }; mySettings.Add( "Title" , "标题" ); mySettings.Add( "Content" , "内容" ); builder.Configuration.AddInMemoryCollection(mySettings); |
在控制器中调用
1 2 3 4 5 6 | [HttpGet( "ConfigTest" )] public string ConfigTest([FromServices] IConfiguration configuration) { //获得配置文件中的具体值 return configuration[ "Title" ]; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~