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提供此站点。自签名证书在我的本地机器上一直正常工作,但突然不是。但是,这是一个完全独立的问题,如有必要,我会将其作为一个单独的问题发布。感谢所有研究这个问题的人,我感谢你的时间。

相关问题