2012-04-12 81 views
1

我正在開發一個定義了一些自定義路由的MVC 3。所有路線工作的偉大本地(使用IIS Express和卡西尼),但是當我把網站我的生產服務器有404MVC 3沒有路由一些URL的

地方設置路由的炸彈之一: Windows 7的 VS 2010 SP1 IIS快遞

產品設置: 的Windows Server 2008數據中心 IIS 7.5

就是轟炸路線:

routes.MapRoute(
     "ShortLinks", 
     "E-{id}", 
     new { Controller = "Public", Action = "ResolveShortLink" }, 
     new[] { "namespace.WebUI.Controllers" } 
    ); 

    routes.MapRoute(
     "SmsShortLinks", 
     "T-{id}", 
     new { Controller = "Public", Action = "ResolveShortLink" }, 
     new[] { "namespace.WebUI.Controllers" } 
    ); 

示例請求如下所示。

http://domain/E-7d9cbaa2-25b0-47be-8b2c-31844a3de482 的http://域名/ T-7d9cbaa2-25b0-47be-8b2c-31844a3de482

當我再次運行這個本地路由完美的作品,但是當我把它推到生產服務器不工作。

回答

2

你有沒有看看它實際上要走什麼路線?我建議有此 http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx 或 使用窺看到實際上正在解決什麼路線的一讀,它可能有助於闡明這個問題一些輕... http://getglimpse.com/

+0

偉大的工具,不幸的是他們不脫落更多在我的問題上的光。路由調試器只是告訴我,它正在通過我定義的路由並擊中默認路由。 – Mike 2012-04-12 16:18:42

+0

好吧,所以最奇怪的事情發生了,這些路由自動神奇地開始工作後,我禁用路由調試器。不知道是什麼解決了這個問題,不幸的是,由於截止日期的原因,將不得不記錄下來,並稍後返回進行驗屍。 – Mike 2012-04-12 19:22:04

+0

至少它有幫助! – Dave 2012-04-13 12:08:57