2012-01-24 283 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