Silverlight
Silverlightでは、xmlnsを xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" のように指定するとsdkというXAMLネームスペースから、複数のCLRネームスペースにアクセスできます。 今回は、xmlnsに複数の自前のCLRネームスペース…
xmlnsはその名の通りXML用に定義されたネームスペースのことです。これにより、タグの競合を防ぐことができます。プログラム言語のネームスペースと同じ役割を果たします。 今回は、xmlnsについて見ていきます。 アジェンダ オーソドックスなxmlns指定方法 x…
後で読む WCF RIAServicesで業務アプリケーションをよりシンプルに (1/5):CodeZine(コードジン)
SilverlihtアプリのWebサービスコール設定をXAPから外出しする(その1)の続きです。 アジェンダ ServiceClientBuilderクラス ServiceClientBuilderクラス テスト用ソリューションの構築 ServiceClientBuilderを初期化 サービスクライアントの生成テスト
WCFなどのエンドポイントの設定はServiceReferences.ClientConfigファイルで行います。しかし、ServiceReferences.ClientConfigファイルは、XAP内に含める必要があります。このため、気軽にデプロイ環境に合わせてWebサービスの設定を変更することができませ…
プロジェクトが複数あるときに、各プロジェクトでサービス参照の追加を行うと同じコードが生成されて無駄になります。また、サービス参照の追加で生成されたサービスクライアントクラスを複数のプロジェクト間でやり取りすることができなくなります。 そこで…
SilverlightアプリケーションでWebサービスコール中にエラーが起きた場合、AsyncCompletedEventArgsのErrorプロパティにExceptionがセットされます。Errorの内容によって応じた適切な処理を行う必要があります。 アジェンダ エラー時のResultプロパティの挙…
サービス参照の追加で生成したサービスクライアントクラスに public void GetMessageAsync(string name) というメソッドがある場合、 public void GetMessageAsync(string name, object userState) というオーバーロードメソッドも生成されます。 このオーバ…
Silverlightの場合、Webサービスコールは非同期となります。そのため、普通にコーディングした場合、ユーザはWebサービス中にも画面を操作することができます。これはこれで便利なのですが、作り手側の視点で見ると「連続して同じWebサービスを呼ばれた時の…
SilverlightアプリケーションとWCFサービス間をバイナリ形式で通信する - y_maeyamaの日記で、WCFとSivlerlight間の通信内容をBinary化しました。しかし、BinaryデータをFiddlerで確認できないのは不便です。そこで、Fiddler2を拡張してBinary通信の内容を確…
SilverlightアプリケーションとWCFサービス間を、Binary形式のデータで通信をするための設定について書きます。 アジェンダ サーバのWeb.configの設定 クライアントのServiceReferences.ClientConfigの設定 Binary形式で通信を行っているか確認する
デバッグ中や通信内容のエビデンスを残す必要があるときなどに、Silverlightとサーバ間の通信内容を確認したいときがあります。そのようなとき、FiddlerというMS製ツールを使うと便利です。
WCFサービスをデプロイする、などの理由からWCFサービスのURLが変更になることがあります。その時は、Sivlerlight側も変更に合わせて修正を行う必要があります。 このとき、WCFサービス側はクロスドメイン設定されている必要があります。詳細は、他ドメイン…
Silverlightがホストされているサーバとは異なるWebサービスにアクセスしようとするとCommunicationExceptionが発生することがあります。 このような場合は、Webサービス側にclientaccesspolicy.xmlが設定されていないときに起きます。
WCFのHelloWorld(サーバ編) - y_maeyamaの日記でWCFサービスの用意が完了しました。今度はSilverlightアプリケーションからWCFサービスをコールします。
Silverlightはブラウザ上で動作する関係上、セキュリティ制限が厳しくなっています。そのため、データの保存などを行う場合、サーバと連携することが必須となります。 Silverlightは様々なWebサービス技術と連携できるようになっていますが、今回はWCFでサー…
デバッグ中に変数の中身を知りたいが、ブレイクポイントで実行をとめたくないときは、System.Diagnostics.DebugクラスのWriteLineメソッドを使用します。 Debug.WriteLine("出力ウィンドウに表示される文字列"); 上記のラインが実行されるとVisualStudioの出…
VisualStudioでxamlファイルを開くと通常は下記のようになります。 実行結果を確認しながらXAMLを編集できるので非常に便利です。しかし、VisualStudioがXAML内容を解析して実行する関係上、コントロールの数が増えてくると、表示に時間がかかるようになって…
テキストボックスなどのコントロールは、Nameプロパティを持っています。このNameプロパティでコントロールにアクセスすることになります。 Nameを決定するときに悩ましいのが、適切な名称がすぐ枯渇してしまう、という問題です。 例えば、体重を入力するテ…
Silverlightアプリケーションを作ってみます。題材は何でも良いのですが、巷では良くガジェット系のHallo WorldにBMI計算アプリケーションが取り上げられている気がするので、その流れに乗ってみます。 VisualStudioでSilverlightアプリケーションプロジェク…
ボタンのクリックイベントなどに登録する場合以下の二通りの方法gああります。 XAMLに直接記述する方法 xaml.csコードに記述する方法 XAMLに直接記述する方法 XAMLに記述する場合、下記のように行います。 <Button x:Name="BtnSample" Content="Sample" Click="BtnSample_Click"/> private void BtnSample_Click(object sender, Rou</button>…
Silverlightを開発するためには、VisualStudioが欠かせません。VisualStudioからSilverlightプロジェクトを新規作成すると多くのファイルを自動生成してくれます。しかし、自動で作られるがゆえに各ファイルの位置づけがわかりにくくなります。と思っていま…