C# 是.Net';s WebClient类支持ETag“;开箱即用;?
在下面的代码示例中,我从一个WebClient对象调用同一URL两次:C# 是.Net';s WebClient类支持ETag“;开箱即用;?,c#,.net,caching,webclient,etag,C#,.net,Caching,Webclient,Etag,在下面的代码示例中,我从一个WebClient对象调用同一URL两次: var client = new WebClient(); var url = "http://windows.microsoft.com/scripts/4.2/wol/modernizr.wol.js"; var result = client.DownloadString(url); // Imagine some work done here: Thread.Sleep(5000); var result2 = cl
var client = new WebClient();
var url = "http://windows.microsoft.com/scripts/4.2/wol/modernizr.wol.js";
var result = client.DownloadString(url);
// Imagine some work done here:
Thread.Sleep(5000);
var result2 = client.DownloadString(url);
我是否可以信任WebClient尊重此URL返回的ETag,在第二次请求时将其发送到服务器,并正确识别服务器的304状态代码
我知道我可以添加代码来存储第一个响应中的ETag,并将其与第二个响应一起发送(作为“If None Match”头)。我的问题是——我必须这样做吗
附加问题:如果您实际运行上述代码并嗅探它(例如:w/Fiddler2),您将看到WebClient只发出第一个请求,而从不发出第二个请求。为什么? @SLaks嗯。你能详细说明一下这个链接是如何回答我的问题的吗?德克萨斯州。