かるあ のメモ

アクセスカウンタ

zoom RSS Silverlight 3 のオフライン機能を突っついてみる その3

<<   作成日時 : 2009/04/14 11:14   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 4 / トラックバック 0 / コメント 1

アプリケーションの状態を取得する。

Silverlight でアプリケーションが、Offline(Detach)なのか、OnLineなのかを調べるためには、Application の ExecutionState を調査する。

たとえば、プログラム起動時に、アプリケーションの状態を取得する場合は、App.xaml.cs 中で、this.ExecutionState の値を調査すれば解るし、各ページからアプリケーションの状態を調査する場合は、System.Windows.Application.Current.ExecutionState の値を調査すれば良い。

ExecutionStateは次の5つが有るんだけれど、DetachedUpdatesAvailableがいまいち解らない。こいつ何時発生するんだろう。。。

Detached    デタッチで稼働中
Detaching    デタッチ中
DetachFailed    デタッチに失敗
RunningOnline    オンラインで稼働中
DetachedUpdatesAvailable    ???

 

アプリケーションの状態の変化をイベントで検出する

アプリケーションの状態が変化したときに何かの処理を行い体場合は、Application の ExecutionStateChanged イベントを設定する事で検知が出来る。例えば、App.xaml.cs 中でイベントを捕捉したいなら、こんな風に書けばいい。


this.ExecutionStateChanged += (sender, e) =>
{
   switch (ExecutionState) {
       case ExecutionStates.Detached:
           MessageBox.Show("Detached");
           break;
       case ExecutionStates.DetachedUpdatesAvailable:
           MessageBox.Show("DetachedUpdatesAvailable");
           break;
       case ExecutionStates.DetachFailed:
           MessageBox.Show("DetachFailed");
           break;
       case ExecutionStates.Detaching:
           MessageBox.Show("Detaching");
           break;
       case ExecutionStates.RunningOnline:
           MessageBox.Show("RunningOnline");
           break;
       default:
           break;
   }

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 4
なるほど(納得、参考になった、ヘー) なるほど(納得、参考になった、ヘー)
驚いた
ナイス

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(1件)

内 容 ニックネーム/日時
DetachedUpdatesAvailableは新しいバージョンがダウンロード&使用可能になった時に発生するそうです。
kkamegawa
URL
2009/04/14 22:47

コメントする help

ニックネーム
URL(任意)
本 文
Silverlight 3 のオフライン機能を突っついてみる その3 かるあ のメモ/BIGLOBEウェブリブログ
文字サイズ:       閉じる