我在网站文件夹中有statiс文件,但需要检查每个文件的权限。 我决定将HttpModule用于此目的。
ASP.NET接收所有http请求(我使用通配符映射)和
算法如下:
问题是DefaultHttpHandler不够有效(它不使用文件缓存等)。但IIS(没有ASP.NET)可以很好地处理静态文件。
我想要的只是在检查后让IIS提供静态文件。 有没有办法实现它?
答案 0 :(得分:2)
如果你正在使用IIS7,那么是的,这很容易。在集成模式下,所有请求都通过托管管道。让IIS提供文件,但添加一个HttpHandler来进行检查。或者您可以使用ASP.NET提供的一种授权方法。
答案 1 :(得分:1)
我有一个可用于在IIS 6中传输文件的解决方案。它可以完成诸如可恢复下载,客户端缓存(etag& expires)和服务器端缓存等所有好处。
http://code.google.com/p/talifun-web/wiki/StaticFileHandler
在提供文件之前,应该很容易扩展到包括授权。