2

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

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

4

1 回答 1

0

在执行 apsx 页面之前,您可以使用 3rd-party 模块创建这些标头的副本。例如,对于 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 之前删除标头时才有效。

于 2010-03-05T11:19:49.027 回答