Http Handler是否有办法将请求传递回IIS 6并让它处理请求?
例如,如果我为谓词设置了Http Handler =“(通配符)”path =“(通配符).txt”
我有一个名为myunformated.txt的文件,如果它没有附加查询字符串参数,我希望IIS 6将其发送给用户。
任何想法?
答案 0 :(得分:2)
你的问题的答案是否定的。这就是IIS7的集成管道实现的目的,但它在IIS6上不可用。
在这个使用context.Response.TransmitFile的特定情况下,你应该考虑设置Response内容类型,charset和缓存控制头,例如: -
HttpResponse Response = context.Response
Response.ContentType = "text/plain";
Response.CharSet = "Windows-1252";
Response.AddFileDependency(filePath);
// Set additional properties to enable caching.
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(true);
Response.TransmitFile(filePath);
这非常重复IIS静态内容处理程序将要执行的操作。
答案 1 :(得分:1)
为什么不呢:Response.TransmitFile? - 请注意,与Response.WriteFile不同,这个不会加载整个文件。
您可能希望完全避免它,并使链接指向不同的文件名。通过这种方式,您可以从IIS获得所需的所有内容 - 特别是恢复下载。