我为自动生成文件创建自定义HTTP处理程序,我想告诉IIS7像普通静态文件一样提供当前请求,因为我需要使用IIS和web.config文件来控制压缩设置和当前请求文件的任何其他HTTP头
我知道。在ASP.net中有一个名为[StaticFileHandler] [1]的内部类。但我无法访问它。或者你有任何其他方式可以像这样工作。 [1]:http://msdn.microsoft.com/en-us/library/ms404287.aspx
答案 0 :(得分:4)
复制StaticFileHandler
应该很容易复制你需要的位,基本上归结为这个方法:
context.Response.TransmitFile(physicalPath, offset, length);
答案 1 :(得分:0)
This blog post描述何时使用StaticFileHandler:
如果您还没有修改任何标题(例如缓存),并且您还没有向响应流写入内容,并且响应流没有过滤器(例如压缩),并且您在IIS6中运行进程内,然后将请求传递回IIS进行处理
据我所测试,IIS7也是如此。我不确定如何,但如果您不在自己的处理程序中处理某个请求,它应该传递给IIS。任何人都可以确认吗?
至少,遵循以上提示适用于我的静态文件。