我遇到了一些我无法理解的奇怪问题。我的一个控制器已停止工作,但如果我重命名它,那么它工作正常。我没有任何特殊的路由包裹这个控制器,它只是使用我的默认值。MVC3 - 找不到资源
为了说明一下,我有一个名为“Kangaroo”的控制器。在浏览器中,如果我到{server}/Kangaroo,那么我会收到“The Resource can not be found”消息。但是,如果我转到{server}/Kangaroo/Index,那么我的页面将正常加载。我的任何其他控制器上都没有这个问题,只有这个。如果我将控制器(和我的视图文件夹)重命名为“Kangaroo2”,那么它的工作原理非常好。
这里是我的路线:
public class RouteDefinitions {
public static void AddRoutes(RouteCollection routes) {
routes.Ignore("{resource}.axd/{*pathInfo}");
routes.MapRoute("Resources",
"cache/{action}/{key}/{version}/{type}",
new { controller = "Cache",
action = "CacheContent",
key = "",
version = "",
type = "" });
routes.MapRoute("Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new {
controller = "Home",
action = "Index",
id = ""
} // Parameter defaults
);
}
}
有没有人有什么可以怎么回事的想法?我认为这可能只是一个奇怪的视觉工作室的事情,但重新启动并没有纠正这个问题。
处理“服务器”属性的路由在哪里?如果没有专门处理'{server}/Kangaroo'的路线,它将会转入您的默认路线,这将顺利运行。你有没有尝试从Phil Haack的RouteDebugger看看发生了什么(或Glimpse?)http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx –
对不起,{server}是地址到我的服务器。即:http:// localhost/... – Brosto
我试过Glimpse,但没有出现,当我得到资源未找到消息。在所有其他路线(甚至我的改名)中,Glimpse都能正常工作。 – Brosto