我在MVC应用程序中使用了一个HttpClient,如下所示:
new HttpClient(new WebRequestHandler()
{
CachePolicy = new RequestCachePolicy(RequestCacheLevel.CacheIfAvailable)
});我发出了一个请求,并得到如下回复:
StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
Cache-Control: must-revalidate, max-age=3600
Date: Thu, 13 Mar 2014 10:26:41 GMT
Location: <snip!>/api/customers/TEST
X-AspNet-Version: 4.0.30319
Content-Length: 246
Content-Type: application/json; charset=utf-8
Expires: Thu, 13 Mar 2014 11:26:42 GMT
}在我的本地,它可以正常工作,但是在临时服务器上,当调用相同的urls时,服务仍然会受到攻击;缓存没有被使用。
使用该服务的MVC站点托管在IIS7上,在开发时我使用IIS。
为什么在本地机器(缓存工作的地方)上运行它与暂存服务器(缓存不起作用)之间会有区别,我如何修复它,使缓存在这两种情况下都能工作呢?
发布于 2014-03-13 11:25:56
我并不是百分之百地理解这一点,但是,我相信,由于HttpClient使用WinInet代理缓存的目的,所以它在作为服务运行时不能工作。即根据IIS。有关更多详细信息,请参阅http://support.microsoft.com/kb/238425。
https://stackoverflow.com/questions/22375795
复制相似问题