This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
WCF クライアントはUsingブロック内で使うことはできない、なぜなら予期しない例外が投げられる可能性があるからだ。たとえ例外をキャッチしたとしても、接続が開きっぱなしになることもある。この問題に関するこれまでの経緯と提案されているいくつかの回避策をこれから見ていこう。 .NET におけるリソース管理の要になるのはIDisposableとUsingブロックだ。CLRオブジェクトは別として、.NET世界における全てのオブジェクトのライフスパンはこれらを用いて管理される。だからこそ疑問に思うのも当然のことだ。どうやってMicrosoftはWCFフレームワークについてこんなにお粗末な問題を起こすことができたのだろうか、と。 WCF クライアントの問題としてまず挙げられるのがClose/Disposeメソッドが例外を投げうることだ。このことでFinallyブロックから Disposeメソッドを呼
WebContentTypeMapper サンプルでは、新しいコンテンツ タイプを Windows Communication Foundation (WCF) のメッセージ本文形式にマップする方法を示します。 WebHttpEndpoint 要素が Web メッセージ エンコーダーにプラグインすると、WCF では、JSON、XML、または生のバイナリ メッセージを同じエンドポイントで受信できるようになります。 このエンコーダは、要求の HTTP コンテンツ タイプを調べて、メッセージ本文の書式を決定します。 このサンプルでは、コンテンツ タイプと本文書式との間の割り当てを制御するための WebContentTypeMapper クラスを示します。 WCF には、各コンテンツ タイプの既定の割り当てが用意されています。 たとえば、application/json は JSON に割り当てら
.NET 3.5のWCFに新しく追加されたWebHttpBindingとその周辺をmonoで実装してみたので、細かいことを分かっている範囲でちまちまと書いてみる。how to use的な話を書いてもMSDNとかぶるだけなので書かない。あと例によってconfigurationを使ったやり方も僕の興味の範囲外なので書かない。 ユーザーコードで必要になるのは次のクラスのみである: WebMessageEncodingBindingElement (Sys.SM.Channels) WebHttpBehavior (Sys.SM.Description) WebGetAttribute or WebInvokeAttribute (Sys.SM.Web) 実際には、WebMessageEncodingBindingElementを直接使用しなくてもWebHttpBindingを使えばよいし、 We
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く