2012-09-17 44 views
2

我有一个“工具”区域的MVC3网站我目前正在努力。我在网站上集成的一个工具,我需要在虚拟目录中运行。在/ Tools文件夹下建立一个虚拟目录对于应用程序本身工作正常,但是对于导航到/ Tools /,我得到“不允许目录列表”。我如何告诉IIS让MVC路线处理这个URL?目录在MVC3项目

我们将在生产环境中使用IIS6,因此它对于它的使用非常重要。

在此先感谢。

编辑:为了清楚起见,这里的设置:

  • /工具/ RoutedTool1
  • /工具/ ToolInVirtualDirectory
  • /工具/ RoutedTool2
  • /工具/

路由工具的路由工作正常,但因为我必须创建一个目录下的根设置“ToolInVirtualDirectory”,IIS正在劫持“/ Tools /”请求并尝试将其发送到目录,忽略路由。

+0

你刚刚创建了一个虚拟目录,还是将它作为一个应用程序呢? –

+0

只是到目前为止创建一个虚拟目录,但如果有技术原因将其切换到应用程序,我全都是耳朵。据我所知,这个问题是独立于虚拟目录的,只是添加了Tools目录弄乱了我的路线。 – raynjamin

+0

这很奇怪,它应该是相反的方式。路线应该覆盖虚拟目录。你有任何URL重写规则? –

回答

1

您应该在Global.asax.cs中设置routes.RouteExistingFiles = true

请记住,由于此属性在全局级别播放,因此在设置此属性之前,必须忽略路由基础结构不需要处理的css文件和其他内容。更多的想法请参考post

0

在Global.asax的RegisterRoutes部分,添加路由系统忽略的忽略路由。应该已经有配置中的.axd's的例子。

+0

我对这个问题增加了一些说明 - 忽略路线似乎不是我的问题。谢谢。 – raynjamin