我有一個項目使用Asp.Net 3.5和MVC 1.爲什麼我無法獲得MvcHttpHandler來處理我的.mvc請求?
一切運行完美我的本地IIS,但不是我將它部署到託管服務器後。
Web服務器是IIS7集成管道激活(根據託管公司)。
當我去到網站,www.site.com的根,在Default.aspx的使重定向到一個控制器,像這樣:
公共無效的Page_Load(對象發件人,發送System.EventArgs)
{
string originalPath = Request.Path;
HttpContext.Current.RewritePath(Request.ApplicationPath +「Controller.mvc/Action」,false);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(HttpContext.Current);
HttpContext.Current.RewritePath(originalPath,false);
}
這工作正常並顯示正確的視圖。但是,當我在瀏覽器中輸入相同的地址時,www.site.com/Controller.mvc/Action,我得到一個404.0錯誤。所以看起來MvccHttpHandler沒有被正確調用(?)。
web.config使用runAllManagedModulesForAllRequests =「true」進行設置,並且MvcHttpHandler被配置爲處理.mvc擴展名。
我做錯了什麼,有什麼想法?
謝謝你的建議。但是,我的問題仍然存在。無論我是否使用mvc-extensions,對我的控制器的任何請求都會給我一個404.0錯誤。唯一能讓它工作的方法是通過default.aspx手動處理請求,這使我相信問題出在MvcHttpHandler上。 – 2010-10-10 10:26:55