首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IIS7和ASP.NET 4.0中如何从HTTP处理程序调用静态文件处理程序?

在IIS7和ASP.NET 4.0中如何从HTTP处理程序调用静态文件处理程序?
EN

Stack Overflow用户
提问于 2011-01-24 11:56:59
回答 2查看 2.7K关注 0票数 1

我为自动生成文件创建了自定义超文本传输协议处理程序,我想告诉IIS7像普通静态文件一样为当前请求提供服务,因为我需要使用IIS和web.config文件来控制压缩设置和当前请求文件的任何其他超文本传输协议标头。

我知道呀。在ASP.net中有一个名为StaticFileHandler的内部类。但我无法访问它。或者你有任何其他的方法像这样工作。1:http://msdn.microsoft.com/en-us/library/ms404287.aspx

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-24 12:06:03

复制StaticFileHandler应该很容易

为StaticFileHandler

  • Open方法ProcessRequestInternal()

  • Open SendFile()打开
  1. Download Reflector

复制你需要的部分,基本上归结为这个方法:

代码语言:javascript
复制
context.Response.TransmitFile(physicalPath, offset, length);
票数 3
EN

Stack Overflow用户

发布于 2012-02-14 18:01:45

This blog post描述了何时使用StaticFileHandler:

如果您没有修改任何headers (例如缓存),并且您还没有向响应流写入内容,并且响应流没有过滤器(例如压缩),并且您正在IIS6中运行 in -process,那么请求将被传递回IIS6进行处理。

据我测试,这也适用于IIS7。我不确定是如何处理的,但如果您不在自己的处理程序中处理某个请求,它应该会传递给IIS。有人能证实这一点吗?

至少,遵循上面的提示对我的静态文件有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4778487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档