好的,所以部署到本地 IIS 我的项目工作正常。部署到在线主机,我只得到目录列表。
(
使用 VisualStudio 2012、mvc3、.net 4.5 发布到 Web 设置:
- 发布方式:FTP
- 服务器:
www."mysite".co.za
- 站点路径:“空白”(我的理解是我是直接发布到app目录,所以我的根目录包含bin、views、global.asax、web.config)
- 目标网址:
http://www."mysite".co.za
- 数据库已经启动并在 web.config 中配置
)
如果单击 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");
}
真正的鲍勃,我得到以下信息(但仍然只有当我点击我的查看目录时):
“/”应用程序中的服务器错误。
这是我的自定义错误:目前在 RegisterRoutes
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 异常详细信息: System.Exception:这是我的自定义错误:当前在 RegisterRoutes
所以我的问题是: 1. 为什么我的 root 不会选择 global.asax?2. 如何查看 routes.MapRoute(...) 之后代码执行的结束位置?(也就是说,在删除 throw Exception 之后;))
问候