kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

codeseek 39回 All about Silverlight3

MSの大西さんにお願いして、Silverlight3のお話をざっくり二時間。いろいろ質疑応答もあって、幾つか疑問が解消できたのでよかったです。基本的なところは知られているだろうということで、私の日記ではQ&Aの記録を。なお、これは現在のBeta1の情報をもとにしています。将来変更される可能性があります。

Out of Browser状態でSilverlightからDOMアクセスするとどうなる?

ブラウザ内で実行しているときはもちろんDOMアクセスできるわけですが、ブラウザ外にインストールした場合、html内部で動いていないので、DOMアクセスするとどうなるのでしょう?これは持ち帰り。私も今Silverlight3環境がないので試せないです。すんません。

ClearTypeは日本語フォントもOK?

もちろんOK。

Out of Browserでデバッグするには?

これも明確な回答なし。これは私の意見だったけど、sllauncher.exeというx86プロセスからSilverlight3アプリケーションが起動しているので、それにVisual Studioからアタッチするしかないんじゃない?

Out of Browser各アプリでsllauncherが起動する?

Yes。ただし、どのプロセスがどのSilverlight3アプリかはタスクマネージャからはわからないので、気をつけて。Out of Browserはsllauncher.exeの引数でプログラムのインスタンス名(内部的には例によってGUIDだろうきっと)を引数に渡しているので、System.Diasgnotics.ProcessクラスでStartupinfoのプロセス引数を取ってくればわかるはず。あ、外部ツールで判定する場合のことを書いています。念のため。

回線切断検出機能はWindowsのMedia Sense(メディア検出機能)を使ってる?

ちなみにMedia Senseとはこの話。
How to disable the Media Sensing feature for TCP/IP in Windows
使っていない。http connectionがあるかないかで判定している(Macもあるしね)。したがって、WindowsのMedia senseを無効にしてもSilverlightはオフライン状態を判定できる。

Out of Browserではインストール/アンインストールがユーザ権限で可能なことに関して

現在のユーザーにコピーされるわけですが、インストール/アンインストールの禁止/事前配布は今のところシナリオにないそうです。エンタープライズ向けの業務アプリケーションだと、事前配布機能及び、アンインストール禁止などはほしいかなと思います。
サンドボックスモデルでローカルストレージの一部(現在のログオンユーザ権限の範囲)にアクセスできるので、Save asダイアログボックスも出せます。
これをうまく使えばSilverlightでローカルストレージ(分離ストレージではなく)にデータを保存して、ADO.NETのSync Frameworkなどを活用して、オンライン状態になるとデータ同期するなんてシナリオが考えられます。

Blend3でSketchFlowを作った場合、VisualStudio 2008では?

XAMLとしては読み込めるし、インテリセンスも効くけど、プレビューは無理。まぁ、これはアニメーションと同じですね。ベータだし、仕方ないです。製品版でもこの辺は変わらないんじゃないかな。