Silverlight

XmlnsDefinitionAttributeでXAML 名前空間と CLR 名前空間の割り当てを指定する

Silverlightでは、xmlnsを xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" のように指定するとsdkというXAMLネームスペースから、複数のCLRネームスペースにアクセスできます。 今回は、xmlnsに複数の自前のCLRネームスペース…

Silverlight クライアント SDKの共通 XAML 名前空間

xmlnsはその名の通りXML用に定義されたネームスペースのことです。これにより、タグの競合を防ぐことができます。プログラム言語のネームスペースと同じ役割を果たします。 今回は、xmlnsについて見ていきます。 アジェンダ オーソドックスなxmlns指定方法 x…

WCF RIA Servicesの記事

後で読む WCF RIAServicesで業務アプリケーションをよりシンプルに (1/5):CodeZine(コードジン)

SilverlihtアプリのWebサービスコール設定をXAPから外出しする(その2)

SilverlihtアプリのWebサービスコール設定をXAPから外出しする(その1)の続きです。 アジェンダ ServiceClientBuilderクラス ServiceClientBuilderクラス テスト用ソリューションの構築 ServiceClientBuilderを初期化 サービスクライアントの生成テスト

SilverlihtアプリのWebサービスコール設定をXAPから外出しする(その1)

WCFなどのエンドポイントの設定はServiceReferences.ClientConfigファイルで行います。しかし、ServiceReferences.ClientConfigファイルは、XAP内に含める必要があります。このため、気軽にデプロイ環境に合わせてWebサービスの設定を変更することができませ…

リンクの追加を使ってServiceReferences.ClientConfigファイルをSilverlightメインプロジェクトから参照する

プロジェクトが複数あるときに、各プロジェクトでサービス参照の追加を行うと同じコードが生成されて無駄になります。また、サービス参照の追加で生成されたサービスクライアントクラスを複数のプロジェクト間でやり取りすることができなくなります。 そこで…

Webサービスコール時に生じたエラーの処理

SilverlightアプリケーションでWebサービスコール中にエラーが起きた場合、AsyncCompletedEventArgsのErrorプロパティにExceptionがセットされます。Errorの内容によって応じた適切な処理を行う必要があります。 アジェンダ エラー時のResultプロパティの挙…

Silvelrihgtプロジェクトで生成したサービスクライアントメソッドのuserState引数について

サービス参照の追加で生成したサービスクライアントクラスに public void GetMessageAsync(string name) というメソッドがある場合、 public void GetMessageAsync(string name, object userState) というオーバーロードメソッドも生成されます。 このオーバ…

SilverlightアプリでWebサービスのコール時に通信中ダイアログを表示する

Silverlightの場合、Webサービスコールは非同期となります。そのため、普通にコーディングした場合、ユーザはWebサービス中にも画面を操作することができます。これはこれで便利なのですが、作り手側の視点で見ると「連続して同じWebサービスを呼ばれた時の…

WCFのバイナリ通信の内容をFiddler2で確認する

SilverlightアプリケーションとWCFサービス間をバイナリ形式で通信する - y_maeyamaの日記で、WCFとSivlerlight間の通信内容をBinary化しました。しかし、BinaryデータをFiddlerで確認できないのは不便です。そこで、Fiddler2を拡張してBinary通信の内容を確…

SilverlightアプリケーションとWCFサービス間をバイナリ形式で通信する

SilverlightアプリケーションとWCFサービス間を、Binary形式のデータで通信をするための設定について書きます。 アジェンダ サーバのWeb.configの設定 クライアントのServiceReferences.ClientConfigの設定 Binary形式で通信を行っているか確認する

Fiddler2を使ってサーバとSivlerlightアプリケーションアプリ間の通信内容を確認する。

デバッグ中や通信内容のエビデンスを残す必要があるときなどに、Silverlightとサーバ間の通信内容を確認したいときがあります。そのようなとき、FiddlerというMS製ツールを使うと便利です。

WCFサービスのエンドポイントを変更する

WCFサービスをデプロイする、などの理由からWCFサービスのURLが変更になることがあります。その時は、Sivlerlight側も変更に合わせて修正を行う必要があります。 このとき、WCFサービス側はクロスドメイン設定されている必要があります。詳細は、他ドメイン…

他ドメインのWebサービスにアクセスする方法

Silverlightがホストされているサーバとは異なるWebサービスにアクセスしようとするとCommunicationExceptionが発生することがあります。 このような場合は、Webサービス側にclientaccesspolicy.xmlが設定されていないときに起きます。

WCFのHelloWorld(クライアント編)

WCFのHelloWorld(サーバ編) - y_maeyamaの日記でWCFサービスの用意が完了しました。今度はSilverlightアプリケーションからWCFサービスをコールします。

WCFのHelloWorld(サーバ編)

Silverlightはブラウザ上で動作する関係上、セキュリティ制限が厳しくなっています。そのため、データの保存などを行う場合、サーバと連携することが必須となります。 Silverlightは様々なWebサービス技術と連携できるようになっていますが、今回はWCFでサー…

DebugクラスのWriteLineメソッドでデバッグ用プリント文を出力する。

デバッグ中に変数の中身を知りたいが、ブレイクポイントで実行をとめたくないときは、System.Diagnostics.DebugクラスのWriteLineメソッドを使用します。 Debug.WriteLine("出力ウィンドウに表示される文字列"); 上記のラインが実行されるとVisualStudioの出…

VisualStudioでXAMLを開く動作を軽くする

VisualStudioでxamlファイルを開くと通常は下記のようになります。 実行結果を確認しながらXAMLを編集できるので非常に便利です。しかし、VisualStudioがXAML内容を解析して実行する関係上、コントロールの数が増えてくると、表示に時間がかかるようになって…

コントロールの名称にプレフィックスをつける。

テキストボックスなどのコントロールは、Nameプロパティを持っています。このNameプロパティでコントロールにアクセスすることになります。 Nameを決定するときに悩ましいのが、適切な名称がすぐ枯渇してしまう、という問題です。 例えば、体重を入力するテ…

初めてのSilvelightアプリケーション「BMI計算」

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>…

VisualStudioが生成するSilverlightプロジェクトとMainメソッドについて

Silverlightを開発するためには、VisualStudioが欠かせません。VisualStudioからSilverlightプロジェクトを新規作成すると多くのファイルを自動生成してくれます。しかし、自動で作られるがゆえに各ファイルの位置づけがわかりにくくなります。と思っていま…