我有一個ASP.Net MVC 5網站,並且在某些情況下需要動態地將所有傳入請求路由到特定的Controller和Action。基於某些條件動態地重新路由所有請求
例如,如果該數據庫不存在,我想重新路由所有傳入請求發送到特定動作,如SetupController.MissingDatabase
:
public class SetupController : Controller
{
public ActionResult MissingDatabase()
{
return View();
}
}
我想檢查此條件(數據庫存在)爲每個請求。最好在管道的早期執行檢查,而不是在每個Action的頂部或每個Contoller中執行檢查。當然,如果傳入的請求被路由到SetupController.MissingDatabase,我不需要執行檢查或重新路由請求。
完成此操作的最佳方法是什麼?
具體而言,ASP.Net MVC 5管道中的哪個位置是執行此類檢查的最佳位置,以及如何重新路由傳入的請求?
本文可能有幫助:http://blog.falafel.com/custom-filter-asp-net-mvc-5/。基本上創建一個自定義操作過濾器並重寫OnActionExecuting或OnActionExecuted。 – dnndeveloper