Silverlightコントロールをパッケージ化してSharePoint Webパーツに展開しました。私は更新プログラムをプッシュした後にブラウザの新しいバージョンをロードすることに問題があります。私は、私のxapプロジェクトのアセンブリとファイルのバージョンを更新していますが、それは問題ではないようです。ブラウザに新しいxapをロードさせる唯一の方法は、一時的なインターネットファイルに入り、削除することです。私にとっては、開発中は問題ありませんが、生産に入る前に解決策を見つける必要があります。何か案は?更新後にブラウザに強制的にSilverlight xapを読み込ませる
27
A
答えて
35
これは、ブラウザがリソース要求を処理する方法と関係があります。 Flashにも同様の問題があり、いくつかの回避策があります。
問題点と解決方法を詳しく示すarticleです。
私はこのような何かを示唆している:
はあなたのhtmlであなたのXAPのためにこれを持って言う:
<param name="source" value="ClientBin/myApp.xap"/>
私は考えあなたがプッシュ操作を行うたび、それはあなたがバージョン番号を変更したバージョンを。例:
<param name="source" value="ClientBin/myApp.xap?ver=1"/>
2
素晴らしい! Windows Phone開発でも働いていました。
私が行入れている:
NavigationService.Navigate(new Uri("/Game.xaml?versao="+version, UriKind.RelativeOrAbsolute));
をそして方法OnNavigatedTo
オーバーライド:tは毎回あなたが展開することを意味し、の.xapキャッシングに実行するのは非常に珍しいことではありません
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string var;
if (NavigationContext.QueryString.TryGetValue("version", out var))
{
...
}
}
2
をSilverlightアプリケーションの新しいバージョンでは、ブラウザは更新された.XAPファイルをダウンロードしません。
解決策の1つは、IISのプロパティを変更することです。ダウンロードしてしまいます
Open IIS Manager
Go to “Default Web Site” and find web site for your Silverlight project.
Find the .XAP file under ClientBin.
Go to the properties page of the .XAP file, on HTTP Headers Tab, Turn on “Enable Content Expiration”, click the “Expire Immediately” radio button.
Save the changes.
この方法で最新の.xap(最新の.xapファイルがある場合のみ):あなたは、これらの手順に従って、お使いの.xapファイルのための「コンテンツの有効期限をHTTPヘッダーを有効にする」オプションを有効にすることができますブラウザを閉じなくてもページを更新することができます。
希望すると便利です。
1
はClientBin
に<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMaxAge="0.00:00:01" cacheControlMode="UseMaxAge"/>
</staticContent>
</system.webServer>
</configuration>
関連する問題
- 1. Silverlight import App.xamlから動的にxapが読み込まれる
- 2. IEブラウザで強制的にキャッシュを強制的に更新する - C#、ASP
- 3. Silverlight、MEF、オンデマンドXapの読み込みとキャッシュについて
- 4. EFコード最初に強制的に読み込みを行う
- 5. Silverlight XAPを動的にロード
- 6. iOS - 強制的にUIWebViewにコンテンツを読み込ませますか?
- 7. ブラウザに強制的にキャッシュされたHTML5ビデオオブジェクトを更新させる
- 8. ページキャッシュを無効にして、ブラウザのバックボタンでページを強制的に読み込みます。
- 9. 強制的にブラウザに強制的にサーバー側コードなしで再ロードする
- 10. PHPはメモリに読み込まずにリモートファイルを強制的にダウンロードする
- 11. ユーザーにアプリを強制的に更新させるには?
- 12. サーバーがオフラインのときでもSilverlightページ/ xapを読み込むようにブラウザを設定する
- 13. 強制的に更新するImportXML
- 14. eclipselinkで強制的に更新する
- 15. Silverlightでは、XAPを動的に読み込む際に、最初に読み込まれたものだけがApp.xamlを定義できますか?
- 16. ImageResizer:新しいフォルダにdiskcacheを強制的に更新する
- 17. ページ更新後にスクリプトのみが読み込まれる
- 18. コンテンツが変更された後に強制的にページを更新する
- 19. アップデートパネルで強制的に更新イメージ
- 20. Silverlight XAPファイルが更新されない
- 21. ページの読み込み後にキャンバスのテキストを更新する
- 22. Chromeにリソースを強制的に再読み込みさせるにはどうすればよいですか?
- 23. 非同期機能後にコンポーネントを強制的に更新しますか?
- 24. ワニスに403レスポンスのCache-Controlヘッダーを強制的に読み込ませる方法はありますか?
- 25. Nativescriptで強制再読み込みコンポーネント
- 26. ページをIFrame内でのみ強制的に読み込む方法は?
- 27. XAMLでバインドされたGUIのプロパティを強制的に再読み込み
- 28. hg強制的に新しいファイルに更新する
- 29. D3 - グラフを初期化した後にパラメータを強制的に更新する
- 30. クライアントに強制的にウェブページを再読み込みさせる最良の方法は何ですか?
を以下のweb.configファイルを置くバックアセンブリバージョン(すなわち、1.0.0.0)にその値を関連付けしていますか? –
@Chrisいいえ、それは完全に作られています。変更をクライアントにプッシュしたいときはいつでも、変更する限り何でも置くことができます。ベストプラクティスは、あなたのバージョニングと一線を保つことでしょう。 – Joseph
それはそれをしました、提案のおかげで。 –