Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

Wie schaltet man den HttpClient Cache aus in einer WPF Anwendung?

03.08.2018 (👁4029)


Problem: HttpClient Cache deaktivieren

Wenn man unter WPF einen HttpClient aufbaut, dann findet man im Standard hierzu keine Möglichkeit den Cache auszuschalten.

Somit wird bei einem automatischen Lesen von Webseiten in WPF sehr oft die gleiche Seite aufgerufen als http Document.

Lösung:

Man erstellt in WPF eine WebRequestHandler und weist diesem eine CachePolicy mit NoCacheNoStore zu

WebRequestHandler handler = new WebRequestHandler();

handler.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.BypassCache);//.NoCacheNoStore);

 

 

Namespace

using System.Net.Http;          //*HttpClientHandler WPF

using System.Net.Cache;         //*disable Cache

 

 

Beispiel zum HttpClient WebRequest

//< HttpClient >

WebRequestHandler handler = new WebRequestHandler();

handler.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.BypassCache);//.NoCacheNoStore);

//HttpRequestCachePolicy requestPolicy =new HttpRequestCachePolicy(HttpCacheAgeControl.MaxAge,TimeSpan.Zero);

handler.AllowAutoRedirect = true;           

HttpClient httpClient = new HttpClient(handler);

 

string sHTML = "";   //Client Request as string

try

{

    sHTML = await httpClient.GetStringAsync(new Uri(sURL));

}

catch (Exception ex)

{

    //clsSys.show_Message(ex.Message);

    clsSys.fx_Log("Error httpClient: " + ex.Message);

    return null;

}

//</ HttpClient >