好的,所以部署到本地IIS我的项目工作正常。部署到在线主机,我只获得目录列表。
(
使用VisualStudio 2012,mvc3,.net 4.5 发布到Web设置:
www."mysite".co.za
http://www."mysite".co.za
)
如果单击Views目录,我会收到404错误。
我接下来要做的是查看它是否执行global.asax,所以我添加了代码以在RegisterRoutes中抛出异常(从Application_Start()调用)
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
throw new Exception("This is my custom error: Currently in RegisterRoutes");
}
真的是Bob,我得到以下内容(但仍然只有当我点击我的View目录时):
Server Error in '/' Application.
This is my custom error: Currently in RegisterRoutes
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Exception: This is my custom error: Currently in RegisterRoutes
所以我的问题: 1.为什么我的root不能获取global.asax? 2.如何在routes.MapRoute(...)之后查看代码执行的结束位置? (也就是说,在删除抛出异常之后;))
此致
答案 0 :(得分:1)
这也恰好也是如此。通常这是由于Web配置中缺少某些设置。具体而言,this question提供了答案。编辑Web配置以加载所有请求的所有托管模块。
<system.webServer><modules runAllManagedModulesForAllRequests="true"></modules></system.webServer>
答案 1 :(得分:0)
您可能没有在服务器上注册IIS。请使用aspnet_regiis -i
注册,然后检查IIS中应用程序池下的.net版本。