仅通过代码从特定目录中提供静态文件

时间:2011-04-10 13:33:01

标签: asp.net httphandler asp.net-routing iroutehandler

我正在寻找一种基于代码的解决方案,只使用ASP.NET路由提供来自指定目录的静态文件,而不是在HttpHandler中指定Web.config

例如:

我有以下部分目录布局

/
/public
/public/hello.txt
/public/css
/public/css/base.css
/readme.txt

如果从/public目录请求任何文件,则应按原样提供这些文件。如果请求任何其他静态文件,例如/readme.txt,则应将其作为404提供。允许提供静态文件的目录应该很容易指定为字符串(var publicDir = "public";)。

我希望在Web.config文件中使用很少甚至不需要的配置来完成此操作,并且大部分都是在代码中配置的。

1 个答案:

答案 0 :(得分:0)

我认为使用类库无法实现解决方案。在 IIS 6 环境中, .TXT或.JPG 扩展名为,而不通过.NET 框架。唯一的方法是更改​​IIS配置。

IIS 7 中,处理方式有所不同,但我不知道是否可以找到适用于所有环境的解决方案。

我会很高兴听到别人对此的评价,如果我知道的话,请纠正我。