.net HttpHandlers 将请求通过管道传递到 IIS6
有没有办法让 Http 处理程序将请求通过管道传递回 IIS 6 并让它处理该请求?
例如,如果我为 verb="(wildcard)" path="(wildcard).txt" 设置了 Http 处理程序
,我有一个名为 myunformated.txt 的文件,如果没有,我希望 IIS 6 将其发送给用户没有附加查询字符串参数。
有什么想法吗?
Is there a way for a Http Handler to pass a request back up the pipeline to IIS 6 and let it handle the request?
For example, if I have a Http Handler set for verb="(wildcard)" path="(wildcard).txt"
I have a file called myunformated.txt, I would like IIS 6 to send it to the user if it doesn't have querystring params attached.
Any Ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你的问题的答案是否定的。这就是 IIS7 的集成管道所实现的功能,但它在 IIS6 上不可用。
在这种特定情况下,使用 context.Response.TransmitFile 就可以解决问题,尽管您应该考虑设置响应内容类型、字符集和缓存控制标头,例如: -
这几乎与 IIS 静态内容处理程序的操作重复。
The answer to your question is no. That's what the integrated pipeline of IIS7 acheives but its not available on IIS6.
In this specific case using context.Response.TransmitFile will do the trick although you should consider setting the Response content type, charset and cache control headers, something like:-
This pretty much duplicates what IIS static content handler would be doing.
为什么不只是:Response.TransmitFile? - 请注意,与 Response.WriteFile 不同,此文件不会加载整个文件。
您可能希望完全避免它,并让链接指向不同的文件名。这样您就可以从 IIS 获得您想要的所有内容 - 特别是恢复下载。
Why not just: Response.TransmitFile? - note that unlike Response.WriteFile this one won't load the whole file.
You might want to avoid it entirely, and have the link point to a different filename. This way you get all the stuff you wanted from IIS - particularly resuming download.