ASP.NET MVC路由:在Dev Env中工作,但并不总是在Prod Env中

时间:2012-08-21 14:50:23

标签: asp.net-mvc deployment asp.net-mvc-routing

我的dev env文件夹结构与我的prod env不同。我的prod env中url的开头看起来像:/ dirs / xxx / ctrlr / action / id我的dev env urls没有/ dirs / xxx节点;它们看起来像:/ ctrlr / action / id

当我发布我的项目并在prod env中运行时,有时我的代码会正确地映射其他prod url节点,有时它不会,我得到404.

我正在检查我的项目中正确发生url映射的部分,并与那些不是的部分进行比较,但到目前为止,我错过了解决方案。如果你能提供帮助,将不胜感激。如果我错过了已经回答了这个问题的StackOverflow博客,我深表歉意;我把它用Google搜索过去了。

1 个答案:

答案 0 :(得分:0)

您是否尝试过设置您的开发环境以符合您的生产环境?

右键单击您的MVC项目,然后编辑属性,然后选择Web。

enter image description here

在此屏幕截图中,我使用的是IIS Express - 将您的URL目录更改为/ dirs / xxxx /。如果您正在使用cassini,则可以将虚拟路径更改为/ dirs / xxx /

这应该暴露您遇到的路由问题。通常对我而言,它与javascript或其他一些不通过路由引擎的功能相关,我没有注意到生成错误的URL。