2012-04-12 97 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