IIS删除If-None-Match和If-Modified-Since标头

时间:2010-03-01 13:21:42

标签: asp.net iis iis-7 http-headers etag

我有一个ASHX处理程序或一个ASPX页面(两种情况都会出现问题)。 Web客户端发送包含If-None-Match和/或If-Modified-Since标头但context.Request.Headers.Get(“If-None-Match”)或context.Request.Headers.Get(“If-”的请求Modified-Since“)在处理程序中为null。

相同的脚本在我的本地开发机器上工作,但它在在线机器上不起作用(两者都在Win 2008,.NET 3.5上运行IIS7)

1 个答案:

答案 0 :(得分:0)

在执行apsx页面之前,您可以使用第三方模块创建这些标头的副本。 例如,使用Helicon Ape(http://www.helicontech.com/ape),这些规则可以解决问题:

SetEnvIf If-None-Match (.*) e-if-none-match=$1
SetEnvIf If-Modified-Since (.*) e-if-modified-since=$1

RequestHeader set My-If-None-Match %{e-if-none-match}e
RequestHeader set My-If-Modified-Since %{e-if-modified-since}e

基本上,他们获得标题并使用My-前缀设置新标题。仅当IIS在Ape之前不删除标题时,这才有效。