2009-12-02 1 views
2
WebClient Client = new WebClient(); 
Client.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.BypassCache); 

위의 코드로 인해 닷넷 웹 클라이언트를 통해 사이트가 캐싱되지 않는 이유는 무엇입니까?C# : 캐시 (WebClient)를 건너 뛸 수 없습니다.

+0

을 어떻게 그들이 캐시되고 있음을보고있다 : 그것은하여 WebRequest/WebResponse를 함께 시도 후 작동하지 않는 경우? 이것은 요청에 헤더를 추가하기 만하면 서버가 실제로 보내는 것을 제어하지 않습니다. – Cine

답변

0
string xmlUrl = "http://myserver.com/xmlfile.xml"; 

WebClient client = new WebClient(); 

// prevent file caching by windows 
client.CachePolicy = new System.Net.Cache.RequestCachePolicy(
System.Net.Cache.RequestCacheLevel.NoCacheNoStore 
); 

// read content of file 
Stream rssStream = client.OpenRead(xmlUrl); 

No Cache No Store를 사용하십시오.

편집 :

WebRequest request = WebRequest.Create(uri); 
     // Define a cache policy for this request only. 
     HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); 
     request.CachePolicy = noCachePolicy; 
     WebResponse response = request.GetResponse(); 
+0

나는 BypassCache뿐만 아니라 NoCacheNoStore를 시도했으며 둘 다 작동하지 않습니다. – Paul

+0

없음 RequestCacheLevel이 적합합니다. wpf에서 webclient 사용하기. –