2012-04-17 105 views
0

我正在開發一個小型SilverLight應用程序,它使用WebClient來請求REST服務。根據這樣的:客戶端HTTP處理和ETag

http://msdn.microsoft.com/en-us/library/dd920295(v=vs.95).aspx

使用「客戶端HTTP」操作時沒有緩存要到位....

REST服務我打電話使用ETag的,所以在沒有高速緩存地方,我不希望,第二個電話給我的服務,將包含If-None-Match頭?

而且當REST服務返回「304」(NotModified)我仍然得到一些數據,表明該數據從緩存返回....

REST服務還設置了「因人而異」頭'接受'(以便接受標題,應在生成緩存鍵時考慮),但似乎並不像這是工作....

所以我有點信心,無論是緩存是否存在....似乎是在那裏的一半......

有人可以清除嗎?

TIA

瑟倫

+0

這聽起來確實不像你實際使用ClientHTTP,也許有些代碼會有幫助,特別是在你創建WebRequest的區域。 – AnthonyWJones 2012-04-17 13:41:41

回答

0

我不會用一個WCF服務的ETag建議。在IIS中,服務或包含該服務的目錄需要包含HTTP響應標頭,以便將內容立即過期,從而不會在客戶端上進行緩存。這樣對服務的調用不會導致來自服務器的HTTP 304響應。