如何在不使用内容文件夹的情况下从mvc提供静态文件?

时间:2012-01-24 15:04:44

标签: asp.net-mvc

我希望能够拥有一个允许常规访问的文件夹,例如\ content文件夹,只不过它拥有ClickOnce应用程序。我似乎无法使用Mvc实现这一点,但我希望在没有Mvc将其视为控制器操作的情况下访问此文件夹。

我尝试使用routes.Ignore(theUrl),但这似乎没有效果。

2 个答案:

答案 0 :(得分:2)

有两种方法可以做到这一点。第一个是你目前要去的地方,这是为了满足它的路由。您应该能够使用以下内容忽略预期的路线:

routes.IgnoreRoute("...")

但是,从安全角度来看,这可能不是正确的方法。我建议你定义一个明确的动作来下载你的click-once exe。请查看this q/a作为使用FileContentResult类的示例。

原因是您可以控制该文件的安全性,而无需打开其他目录的访问级别。

编辑:如果这是针对整个目录的,您仍然可以采用相同的方法。

答案 1 :(得分:1)

将文件夹设置为IIS网站上的虚拟文件夹。然后,您可以将代码中的URL设置为指向服务请求的计算机和Web服务器上的虚拟文件夹。