2012-01-24 175 views
0

我遇到了一些我无法理解的奇怪问题。我的一个控制器已停止工作,但如果我重命名它,那么它工作正常。我没有任何特殊的路由包裹这个控制器,它只是使用我的默认值。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 
         ); 
    } 
} 

有没有人有什么可以怎么回事的想法?我认为这可能只是一个奇怪的视觉工作室的事情,但重新启动并没有纠正这个问题。

+0

处理“服务器”属性的路由在哪里?如果没有专门处理'{server}/Kangaroo'的路线,它将会转入您的默认路线,这将顺利运行。你有没有尝试从Phil Haack的RouteDebugger看看发生了什么(或Glimpse?)http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx –

+0

对不起,{server}是地址到我的服务器。即:http:// localhost/... – Brosto

+0

我试过Glimpse,但没有出现,当我得到资源未找到消息。在所有其他路线(甚至我的改名)中,Glimpse都能正常工作。 – Brosto

回答

1

刚刚发现了问题所在。我的项目中有一个名为“/袋鼠”的文件夹。我想这是把它当作剧本或其他内容来对待。由于路径存在,它试图从路径加载某些东西。

+0

谢谢!我只是有这个相同的问题。该文件夹是在创建文件时动态创建的,对于我的生活,我无法弄清楚它为什么停止工作! – krillgar