我目前正在使用MVC ASP.NET的RC构建的应用程序在现在没有显示的生产服务器上部署.
我的global.ascx中的路由是典型的
我的global.ascx中的路由是典型的
routes.MapRoute( "Default",// Route name "{controller}.aspx/{action}/{id}",// URL with parameters new { controller = "Home",action = "Index",id = "" } // Parameter defaults ); routes.MapRoute( "Root","",new { controller = "Home",id = "" } );
对不起,我忘了提到它是IIS 6
有趣的是它也在我的本地IIS(即本地内置的VS和标准与XP)
解决方法
当您的global.asax中出现错误处理设置时,还会得到一个空白页面,并且某些通用错误(如无法找到的程序集).
当您在global.asax中禁用它时,可以看到服务器错误.
修复这些最初的错误后,别忘了启用它.
protected void Application_Error(object sender,EventArgs e) { Exception exception = Server.GetLastError(); RouteData routeData = new RouteData(); routeData.Values.Add("controller","ErrorController"); routeData.Values.Add("action","HandleTheError"); routeData.Values.Add("error",exception); Response.Clear(); Server.ClearError(); IController errorController = new ErrorController(); errorController.Execute(new RequestContext( new HttpContextWrapper(Context),routeData)); }