前々から気にはなっていたのですが、Webサーバ上に配置したSilverlightのXAPファイルを新しいものに置き換えても、一向にクライアント側に反映されない件。
もちろんクライアント側でブラウザキャッシュを消せばダウンロードし直すので問題は生じないのですが、公開している側からそんなことを要求できるわけもないので、サーバ側でどうにかしたいところ。
というわけで、試してみたのは以下の通り。
- Silverlightアセンブリのバージョン番号を変えてみた
- コンテナとしているHTMLファイルのヘッダに有効期間の指定を追加してみた
- .htaccessをいじって、XAPファイルをキャッシュしない設定にしてみた
まぁ、ことごとく効果なしw
困ったときの海外サイト、というわけで、Silverlight Forumで検索してみると、同様の問題でお困りの方々が結構いる模様。
ざっと見たところ先日のWebClientキャッシュ問題の回避法と似たようなことをやっているふうだったので、試しにURLの後ろにバージョン番号をくっつけてあげたらば、あっさり解決。
<!--<param name="source" value="Romtter.xap"/>--> <param name="source" value="Romtter.xap?ver=101"/>
安直だけども、この方法ならば意図的にバージョン番号を変えない限りは強制ダウンロードされないので、わりとエコで平和な回避法かと思われ。
コメントを残す