WebClient 또는 HttpRequest/REsponse를 사용하여 이미지를 http 호출합니다..NET HttpRequests Windows 시스템 캐시 사용
캐싱이 브라우저에서 어떻게 작동하는지 잘 모르겠지만 WebClient 또는 WebHttpRequest에서 브라우저가 활용하는 시스템 "임시 인터넷 파일"캐시를 사용하도록 설정하는 방법이 있습니까?
아니면 내 디스크 캐셔를 써야합니까?
WebClient 또는 HttpRequest/REsponse를 사용하여 이미지를 http 호출합니다..NET HttpRequests Windows 시스템 캐시 사용
캐싱이 브라우저에서 어떻게 작동하는지 잘 모르겠지만 WebClient 또는 WebHttpRequest에서 브라우저가 활용하는 시스템 "임시 인터넷 파일"캐시를 사용하도록 설정하는 방법이 있습니까?
아니면 내 디스크 캐셔를 써야합니까?
요청한 리소스가 이미 요청 된 경우 HTTP 요청을하고 로컬 캐시에 액세스하려는 경우 자신의 캐시를 작성해야합니다.
많은 구현 방법이 있습니다. 그것은 실제로 얼마나 많은 다른 리소스를 요청할 것인지, 얼마나 자주 요청하는지에 달려 있습니다.
CachePolicy 속성을 설정하여 시스템 캐시를 사용하도록 WebRequest에 지시 할 수 있습니다.
다음 코드 (MSDN에서 가져옴)는 하루 동안 캐시 요청을 처리합니다. 캐시는 현재 사용자의 임시 인터넷 파일 폴더에 저장됩니다 (적어도 Windows XP에서는).
// Create a policy that allows items in the cache
// to be used if they have been cached one day or less.
HttpRequestCachePolicy requestPolicy =
new HttpRequestCachePolicy (HttpCacheAgeControl.MaxAge,
TimeSpan.FromDays(1));
WebRequest request = WebRequest.Create (resource);
// Set the policy for this request only.
request.CachePolicy = requestPolicy;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Determine whether the response was retrieved from the cache.
Console.WriteLine ("The response was retrieved from the cache : {0}.",
response.IsFromCache);
Stream s = response.GetResponseStream();
// do something with the response stream
s.Close();
response.Close();
감사합니다. 나는 방금 자기 자신을 쓰는 것을 끝내었다. API를 얻는데 5 분 밖에 걸리지 않았습니다. – CVertex
@Chris에 만족했습니다 : 이것에 대한 문서가 있습니까? 나는 이것이 사실이라고 확신하지 않는다. – AnthonyWJones
아니, 그리고 HttpRuntime.Cache 최악의 경우 – annakata