我需要爲MVC實現一個自定義處理程序,該處理程序首先查看URL請求,以確定在將URL提交到路由引擎之前是否應該重寫URL。任何模式都是重定向的候選對象,所以我需要在標準MVC路由引擎查看之前攔截URL請求。如何在處理潛在覆蓋後推遲到ASP.NET MVC的「默認」HttpHandler?
在看了一大堆實現ASP.NET MVC自定義路由的例子,博客,文章等之後,我仍然沒有找到適合我的場景的用例。我們有一個適用於ASP.NET的現有實現,可以正常工作,但當沒有重寫匹配時,我們將返回「標準」處理程序。我們目前使用的技術與此MSDN文章中描述的非常相似:http://msdn.microsoft.com/en-us/library/ms972974.aspx#urlrewriting_topic5其中說「HTTP處理程序工廠可以返回由System.Web.UI.PageParser類的GetCompiledPageInstance()方法返回的HTTP處理程序(這是與內置ASP.NET Web頁面HTTP處理程序工廠PageHandlerFactory工作相同的技術。「)。
我想弄清楚的是:如何獲得第一次看到傳入的請求,然後將它傳遞給MVC路由,如果當前請求不匹配任何動態配置的(通過數據表)值?
非常感謝Craig。我沒有在我所做的所有搜索中找到這篇文章。當與我的團隊討論這個問題時,我們認爲我們應該長期青睞新的url模式,並保持最佳性能,並將遺留網址重定向爲退步,在返回之前我們可以測試模式匹配404錯誤。 但是,您鏈接到的博客仍然可以用於其他一些場景。 – 2009-05-26 17:30:12