locked
Silverlightのキャッシュ? RRS feed

  • 質問

  • ASPからRESTでSilverlightのデータグリッドにデータを入れていますが、
    なぜか古いデータを取得してくる時があります。

    現象としては。。。。
    ①ASPでRESTで取得しているデータは最新のデータ(ASP単体をブラウザから開くと新しいデータでした)
    ②Silverlightで取得するデータは古いデータ(デバッグで確認しても古いです)

    なぜASP上では新しいデータなのにSilverlightが新しいデータを取得出来ないのかわかりません。
    そこでIEのキャッシュなどをクリアしたところ、新しいデータをとってきました。
    IEのキャッシュとSilverlightが何か関係があるのでしょうか。
    2010年1月14日 12:12

回答

  • ご連絡ありがとうございます。
    試してみましたが。。。結果は同じでした。
    ↓の現象と同じだったので、URIを変えて対応するようにします。

    http://d.hatena.ne.jp/odashinsuke/20090520/1242824548
    • 回答としてマーク net_test 2010年2月5日 11:28
    2010年2月3日 9:05

すべての返信

  • ASP側でキャッシュポリシーの指定をしていますか? Silverlight側でキャッシュポリシーを無視して常に最新データを取得するよう制御していますか?
    どちらもしていなければ、どのような挙動をするのか、確実なことは言えないと思います。
    2010年1月14日 15:17
  • Silverlightのキャッシュポリシーというのははじめしりました。
    Silverlightのキャッシュポリシーとはどのようなコードになりますか。

    http://msdn.microsoft.com/ja-jp/library/system.net.cache.httprequestcachepolicy.aspx
    System.Net.Cache のHttpRequestCachePolicyはSilverlightにはないと思います。

    Silverlightのキャッシュポリシーというのを教えて頂けないでしょうか。

    2010年1月15日 2:13
  • Webサーバー側のキャッシュポリシーの設定が必要だと思います。

    HTTPでは、Cache-Control = "no-store"、にしてデータを送りかえすという意味です。
    http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.2

    ASP.NETであれば、
    Response.Cache.SetNoStore();
    を追加すればよいでしょう。
    http://msdn.microsoft.com/ja-jp/library/hdxfb6cy.aspx

    Active Server Pagesだと、
    Response.AddHeader "Cache-control", "no-store"
    を試してみてはいかがでしょうか。


    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。
    2010年2月3日 3:49
  • ご連絡ありがとうございます。
    試してみましたが。。。結果は同じでした。
    ↓の現象と同じだったので、URIを変えて対応するようにします。

    http://d.hatena.ne.jp/odashinsuke/20090520/1242824548
    • 回答としてマーク net_test 2010年2月5日 11:28
    2010年2月3日 9:05