2009-11-26 94 views
1

我不確定發生了什麼,但突然我的控制器操作未被​​調用。這個項目整天工作正常,但現在當我運行它時(在Cassini或IIS 7中),我得到「Internet Explorer無法顯示網頁」。沒有服務器錯誤,甚至沒有404或500錯誤。ASP.Net MVC 2:我的控制器操作未被​​調用

在單步執行代碼時,我可以看到在應用程序啓動期間路徑已正確註冊。在正確的控制器上調用contstructor和Initialize方法,然後.....什麼也不做。我能夠檢查在我的控制器上進入Initialize方法的requestContext,並且框架已經找到了正確的路由數據。這發生在我所有的控制器上。另一個MVC項目在同一臺機器上運行得很好。

我完全失去了。任何幫助將非常感謝,因爲我在這個項目上有12月1日的截止日期。

感謝, 傑夫法國

下面是我的一些代碼:

我家的控制器不工作:

public class HomeController : Controller 
{ 
    public HomeController():base() 
    { 

    } 

    protected override void OnException(ExceptionContext filterContext) 
    { 
     base.OnException(filterContext); 
    } 

    protected override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     base.OnActionExecuting(filterContext); 
    } 

    protected override void Initialize(System.Web.Routing.RequestContext requestContext) 
    { 
     base.Initialize(requestContext); 
    } 

    protected override void HandleUnknownAction(string actionName) 
    { 
     base.HandleUnknownAction(actionName); 
    } 

    public ActionResult Index() 
    { 
     //if (!Request.IsAuthenticated) 
     // return RedirectToAction("LogOn", "Account"); 
     return View(); 
    } 

    public ActionResult About() 
    { 
     return View(); 
    } 
} 

我添加了覆蓋,這樣我可以設置斷點他們看到什麼被稱爲。調用構造函數,然後調用Initialize方法。傳遞給Initialize方法的requestContext包含正確的路由數據。只要Initailize方法執行完畢,我就會看到「Internet Explorer無法顯示網頁」消息。

我Glogal.asax:

public class MvcApplication : HttpApplication 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Default", // Route name 
      "{tenant}/{controller}/{action}/{id}", // URL with parameters 
      new {tenant = "demo", controller = "Home", action = "Index", id = ""} // Parameter defaults 
      ); 
    } 

    public void RegisterViewEngines(ViewEngineCollection engines) 
    { 
    } 

    protected void Application_AuthenticateRequest(object sender, EventArgs e) 
    { 
    } 


    protected void Application_Start() 
    { 
     RegisterRoutes(RouteTable.Routes); 
     RegisterViewEngines(ViewEngines.Engines); 
    } 
} 
+0

發佈代碼示例。 – Mark 2009-11-26 11:05:42

回答

0

嗯,我已經解決了我的問題,事實證明它無關,與MVC或我的代碼,真的。系統事件日誌的檢查顯示我的本地機器上存在一系列SSL錯誤。我的項目中的控制器使用[RequreHttps]屬性進行裝飾,因爲我需要通過SSL提供此站點。自簽名證書在我的本地機器上一直正常工作,但突然不是。但是,這是一個完全獨立的問題,如有必要,我會將其作爲一個單獨的問題發佈。感謝所有研究這個問題的人,我感謝你的時間。

相關問題