日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET Core 中的错误处理

發布時間:2023/12/4 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET Core 中的错误处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.前言

ASP.NET Core處理錯誤環境區分為兩種:開發環境和非開發環境。
開發環境:開發人員異常頁。
非開發環境:異常處理程序頁、狀態代碼頁。
在Startup.Configure方法里面我們會看到如下代碼:

env.IsDevelopment()是判斷應用程序運行是在開發環境還是非開發環境,具體配置在Properties/launchSettings.json,找到ASPNETCORE_ENVIRONMENT屬性,默認值是開發環境(Development),具體環境配置知識點后面我們再來學習下。

2.開發人員異常頁

向Startup.Configure方法添加代碼,以當應用在開發環境中運行時啟用此頁:

if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}

開發人員異常頁僅當應用程序在開發環境中運行時才會啟用,而且調用UseDeveloperExceptionPage要配置于任何要捕獲其異常的中間件前面。
該頁包括關于異常和請求的以下信息:
●堆棧跟蹤
●查詢字符串參數(如果有)
●Cookie(如果有)
●request header

3.異常處理程序頁

在下面的示例中,UseExceptionHandler 在非開發環境中添加異常處理中間件:


Razor Pages應用模板提供“頁面”文件夾中的Error頁(.cshtml)和PageModel類(ErrorModel)。 對于MVC應用,項目模板包括Error操作方法和Error視圖。操作方法如下:


不要使用HTTP方法屬性(如HttpGet)修飾錯誤處理程序操作方法,因為會阻止某些請求訪問的方法。同時最好允許匿名訪問方法,以便未經身份驗證的用戶能夠接收錯誤視圖。
UseExceptionHandler中間還可以使用lambda進行異常處理:


4.狀態代碼頁

一般情況下,ASP.NET Core應用程序不會為HTTP狀態代碼(如“404-未找到”)提供狀態代碼頁的。但若要提供狀態代碼頁,可以使用狀態代碼頁中間件。

4.1 UseStatusCodePages中間件

若要啟用常見錯誤狀態代碼的默認純文本處理程序,請在Startup.Configure方法中調用 UseStatusCodePages:

app.UseStatusCodePages();

而這里有一點要注意的是,調用UseStatusCodePages中間件要在例如靜態文件中間件和 MVC中間件等中間件前面調用:

下面通過運行應用程序在瀏覽器地址欄上輸入一個不存在地址看看配置該中間件后的效果:

很顯然當我們輸入一個不存在地址之后就會打開一個處理錯誤的狀態代碼頁。
UseStatusCodePages中間件還有兩種重載使用方法,具體運行效果就不一一截圖了,大家自行測試。
●包含格式字符串的 UseStatusCodePages:

app.UseStatusCodePages(“ text / plain ”“ Status code page,status code:{0} ”);

●包含lambda的UseStatusCodePages:


4.2 UseStatusCodePagesWithRedirect中間件

●向客戶端發送“302 - 已找到”狀態代碼。
●將客戶端重定向到URL模板中的位置。
下面我們在Startup.Configure方法中調用UseStatusCodePagesWithRedirect:

app.UseStatusCodePagesWithRedirects(“ / Error / {0} ”);

運行應用程序在瀏覽器上輸入不存在地址https://localhost:44353/1看看配置該中間件后的效果,你會發覺當我們輸入上述地址后會跳轉到https://localhost:44353/Error/404鏈接去了,并顯示:

這就說明白當我們輸入一個不存在地址之后會重定向中間件設置的地址頁面去了。

原文地址:https://www.cnblogs.com/wzk153/p/10950702.html

.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結

以上是生活随笔為你收集整理的ASP.NET Core 中的错误处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。