无法禁用代理缓存

时间:2016-05-25 08:25:16

标签: .net caching proxy squid

我有一个C#Web客户端应用程序,它使用RestSharp库来访问第三方Web服务。在某些环境中,它必须通过代理工作。我正在使用WebProxy框架类来提供代理详细信息,一切正常。除了一个边缘情况。

代理(在我的情况下是Squid)配置为需要凭据。

如果我的代码使用 WebProxy凭据发送请求,并在此之后(不到一分钟)发送另一个(在我的情况下完全相同)请求没有凭据,我然而,收到OK响应而不是407(需要验证)错误。

我在这里和其他互联网资源中尝试了多项建议:

  • 将CachePolicy与NoCacheNoStore一起使用
  • 在Squid中定义“cache deny all”
  • 调用WinInet.dll的“DeleteUrlCacheEntry”
  • 提供随机时间戳参数以使请求网址唯一
  • 将缓存控制标头添加到请求

无济于事。我非常确定RestSharp不应该受到责备,因为我能够跟踪这个库中的执行,直到它使用底层的.Net API。 RestSharp尊重代理和缓存策略设置,并将它们传递给.Net类。

我还没有尝试过其他代理 - 只是鱿鱼。

我很高兴听到解决这个问题的任何想法和/或建议。

此致

0 个答案:

没有答案