[ASP.NET] 使用 Request 傳遞參數

ASP.NET 的 Request 物件的生命週期很短,只會出現在一個 Http Request,當需要跨物件傳遞資料時,比如 HttpModule、HttpHandler、Page 、Controller,可以善用 Request 物件來存放短暫的狀態。

既然可以傳遞物件,那麼我們也可以在 Request 初始化的時候,將所需要的物件注入至 Request 裡面,然後再到到 Page / Controller 取出來用;在不同的專案範本可以使用的 Request 物件都不太一樣,接下來分享我已經知道的寫法。

...繼續閱讀 »

[ASP.NET Web API 2]如何使用 OWIN Middleware 捕捉 OWIN Host 引發的例外

Web API 的 ExceptionFilterAttribute、IExceptionFilter 能幫我們處理應用程式等級的例外,但無法處理載體 (Host) 的例外,當使用 IIS 作為載體,假使發生未處理的例外時會出現黃頁,OWIN 作為載體時,ExceptionFilterAttribute、IExceptionFilter 卻攔截不到錯誤,此時應該改用 Microsoft.Owin.Diagnostics.IAppBuilder.UseErrorPage 擴充方法,接下來將會利用 Error Handler 這個情境,介紹 OWIN Middleware 的幾種使用方式。

...繼續閱讀 »

[Hangfire] 使用 Hangfire OWIN 建立非同步任務

Hangfire 是開源的 .NET 非同步任務調度框架,當你需要定期執行、延遲執行、執行失敗重試,他就是你的選項之一。它脫離 Windows 工作排程,在 Web 檢視、重送任務,在 Hangfire 操作 UI 介面可以知道你指派給它的任務狀態,何時成功?為什麼失敗?(例外捕捉)下一次任務觸發時間?訊息可說是相當的完整。

比如:一個工作(Method)需要花費大量時間,除了寫背景執行緒之外,現在又多了一個選擇1.6 以上的版本已支持 .NET Core,個人認為它最大的特點內建視覺化的報表,方便後台監試。

下圖出自:https://www.hangfire.io/

 

 

...繼續閱讀 »