.NET 6新特性试用 | 无需配置开发人员异常页
生活随笔
收集整理的這篇文章主要介紹了
.NET 6新特性试用 | 无需配置开发人员异常页
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
在.NET 6之前,我們需要在“Startup.cs”文件中手工配置開發人員異常頁:
if?(env.IsDevelopment()) {app.UseDeveloperExceptionPage();app.UseSwagger();app.UseSwaggerUI(c?=>?c.SwaggerEndpoint("/swagger/v1/swagger.json",?"WebApplication5?v1")); }如果當前環境變量ASPNETCORE_ENVIRONMENT的值是“Development”,將顯示未經處理的請求異常的詳細信息:
在.NET 6中,我們發現,無需顯式調用UseDeveloperExceptionPage,開發人員異常頁同樣起作用。
//?Configure?the?HTTP?request?pipeline. if?(app.Environment.IsDevelopment()) {app.UseSwagger();app.UseSwaggerUI(); }為什么呢?
原理探究
在https://github.com/dotnet/aspnetcore/blob/main/src/DefaultBuilder/src/WebApplicationBuilder.cs中,我們找到如下代碼:
原來是在構造函數進行了默認處理,也就是在API實現的第一句代碼中執行的;
var?builder?=?WebApplication.CreateBuilder(args);//?Microsoft.AspNetCore.Builder.WebApplication public?static?WebApplicationBuilder?CreateBuilder(string[]?args) {return?new?WebApplicationBuilder(new?WebApplicationOptions{Args?=?args}); }那.NET 6還幫我們默認做了哪些事呢?
其他默認操作
繼續查看ConfigureApplication實現,可以發現.NET 6還進行了其他默認處理,比如:
UseRouting
而在.NET 5中必須手工配置,否則報錯:
UseEndpoints
而在.NET 5中必須在UseEndpoints方法中才能執行MapXXX方法:
app.UseEndpoints(endpoints?=> {endpoints.MapGet("/",?async?context?=>{await?context.Response.WriteAsync("Hello?My?IO!");}); });結論
正是因為.NET 6內部幫我們做了大量工作,才使得實現最小Web API成為可能:
var?builder?=?WebApplication.CreateBuilder(args); var?app?=?builder.Build();app.MapGet("/",?()?=>?"Hello?World!");app.Run();減少初始代碼量,這對新手入門無疑是更友好的!
如果你覺得這篇文章對你有所啟發,請幫忙點個贊或者在看
總結
以上是生活随笔為你收集整理的.NET 6新特性试用 | 无需配置开发人员异常页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 性能测试组件CodeBenchmark
- 下一篇: .Net Crank性能测试入门