我想向默認的MvcHandler添加一些功能。發生什麼事情是:我想破解URL而不是Pascal Case URL。換句話說,如果我的控制器是SomeController,我希望URL是/ some-controller而不是/ SomeController。擴展ASP.NET MVC 4 MvcHandler
我最好的解決方法是:我創建了一個映射文件URLMappings.xml,它將每個控制器映射到每個所需的URL。然後,我擴展了默認的Route類,根據這個和默認的RouteHandler生成外發url,以瞭解基於此的url。那麼,這工作正常,因爲即使沒有創建一些映射,那麼框架將使用默認行爲。
我的觀點是:有了這個路由系統瞭解這兩種網址,這導致重複的內容SEO問題。我想然後執行以下操作:
- 獲取控制值
- 看看一些映射控制器名稱值
- 如果匹配相匹配,那麼還有比這是輸入的一個部分最好網址,應該返回404.
我在網上搜索過,唯一的辦法就是創建一個新的IHttpHandler。不過我不想從頭開始,因爲我需要所有的MVC功能。我只是想把這個邏輯放在ProcessRequest上,但是我的超級版本的方法沒有被執行。
有人可以給我一些關於如何處理這個問題的想法嗎?對不起,如果這個問題很愚蠢,或者它不是很詳細。如果需要更多信息,請告訴我。
謝謝@Darin,我來看看。我認爲這解決了我的問題。 – user1620696 2013-02-25 16:06:18