ASP.NET Web API - If-None-Match请求的标头未被读取

时间:2014-11-28 12:40:26

标签: c# asp.net .net http asp.net-web-api

我的应用程序出现问题,浏览器向我发送了一个:If-None-Match标题,而我的服务器无法获取它。

这是我的确认:

IfNoneMatch not being fetched

在这里你可以看到,事实上,标题是根据请求发送的:

" Encabitudz de Solicitud" is" Request' saders" in spanish

IfNoneMatch is being sent

你们知道这可能是什么问题吗?我没有想法


修改

我将OkNegotiatedContentResult缓存在服务器的MemoryCache中。 Http Cache之后完成,因此它可能从缓存中获取IHttpActionResult

因此,RequestMessage属性来自序列化IHttpActionResult

也许,IfNoneMatch标头不可序列化,因此它被反序列化为null?。

这可以确认吗?

1 个答案:

答案 0 :(得分:1)

好的,这是交易。

正如我所说,我正在缓存整个IHttpActionResult。这是错误。因为,这也意味着我正在缓存该结果的RequestMessage

因此,当我从内存池中获取缓存的IHttpActionResult时,我得到了第一个带有第一个请求的IHttpActionResult缓存。

该请求可能有也可能没有IfNoneMatch标题,与我正在检查的浏览器请求完全不同,它是 过去 请求。< / p>