我想緩存從HttpWebRequest獲得的響應。我需要ResponseStream和頭文件。創建請求時使用HttpRequestCachePolicy(HttpCacheAgeControl.MaxAge, TimeSpan.FromDays(1))
似乎不起作用(由於某種原因,IsFromCache從不是真的),而且我有點害怕手動緩存整個HttpWebResponse,因爲它包含一個gzip壓縮數據流,而且我感覺不好關於在ASP.NET緩存中存儲流。將流存儲在緩存中
響應映射到這樣一個對象(簡化):
public readonly Stream Response;
public readonly string Etag;
private MyObject(Stream response, string etag)
{
this.Response = response;
this.Etag = etag;
}
由於對象還包含響應流I這裏面臨着同樣的問題。
如何緩存?
+1我打算輸入完全一樣的東西,你可能想包括如何複製[WebHeaderCollection](http://msdn.microsoft.com/en-us/library/system.net.WebHeaderCollection %20.aspx)'HttpWebRequest.Headers'也指向。另外,他的「容器」結構本身可以保存內存流,不需要複製到數組中。 –