タグ

2011年5月28日のブックマーク (5件)

  • IDuplexChannel インターフェイス (System.ServiceModel.Channels)

    名前空間: System.ServiceModel.Channels アセンブリ:System.ServiceModel.Primitives.dll アセンブリ:System.ServiceModel.dll パッケージ:System.ServiceModel.Primitives v4.9.0 パッケージ:System.ServiceModel.Primitives v4.10.2 重要 一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。 public interface class IDuplexChannel : System::ServiceModel::Channels::IInputChannel, System::ServiceM

    IDuplexChannel インターフェイス (System.ServiceModel.Channels)
    pmint
    pmint 2011/05/28
    IDuplexSessionChannelと比較。
  • メッセージ交換パターンの選択 - WCF

    カスタム トランスポートを記述する最初の手順として、どの "メッセージ交換パターン" (MEP) が、開発するチャネルに必要かを判断します。 ここでは、使用できるオプションとさまざまな要件について説明します。 これは、「チャネルの開発」に記載されたチャネル開発タスクの一覧にある最初のタスクです。 6 つのメッセージ交換パターン 次の 3 つの MEP から選択できます。 データグラム (IInputChannel と IOutputChannel) データグラム MEP を使用している場合、クライアントは "ファイア アンド フォーゲット" の交換を使用してメッセージを送信します。 このような交換では、配信の成否について帯域外での確認が必要になります。 メッセージが移動中に失われて、サービスに到達しない可能性があります。 クライアントで送信操作が正常に完了したとしても、リモート エンドポイ

    メッセージ交換パターンの選択 - WCF
    pmint
    pmint 2011/05/28
    IInputChannel-IOutputChannel、IRequestChannel-IReplyChannel、IDuplexChannel とそれぞれのセッション使用版の計6種紹介。役に立たない文書。
  • WCF の検出機能 - present

    はじめに WCF4 から追加された機能に「検出」というものがあります。これは、WCF クライアントが接続できる WCF サービスのエンドポイントアドレスを、実行時に探し出せる機能です。 簡単なサンプルで使い方を紹介 今回は構成ファイルを一切使わずに、すべてコードで記述してみます。その方が、やっている事が分かりやすいと思うので。 サービスコントラクトとサービスクラスを用意 using System.ServiceModel; namespace DiscoverySample.Service { [ServiceContract] public interface IGreetingService { [OperationContract] string Greet(string name); } public class GreetingService : IGreetingService

    WCF の検出機能 - present
  • WCF チャネルのヘルパークラス - present

    WCF で クライアント Channel を Close() するとき、非常に稀ですが、ネットワークエラーによって例外が発生する場合があります。 もし例外が発生した場合、次のように書けばクリーンアップできます。 try { // チャネル作成 NetTcpBinding binding = new NetTcpBinding(); EndpointAddress address = new EndpointAddress("net.tcp://localhost:8080/Sample"); ISampleService client = ChannelFactory<ISampleService>.CreateChannel(binding, address); // サービス呼び出し client.Hoge(); // チャネルを閉じる client.Close(); } catch

    WCF チャネルのヘルパークラス - present
  • WCF で集約例外ハンドラを実装する - present

    WCF サービス内部で発生した例外は、1ヶ所でまとめてハンドルして、ログ出力などのエラー処理を行いたいですよね。 WCF では catch されなかった例外をハンドルするために、IErrorHandler インタフェースが提供されています。このインタフェースを実装したクラスを、ChannelDispatcher クラスの ErrorHandler プロパティに設定してやる事で、例外をまとめてハンドル可能になります。 文章で説明するよりも、コードを見た方が分かり易いかな。 まずはカスタム ErrorHandler を作成します。 public class LogErrorHandler : IErrorHandler { public bool HandleError(Exception error) { // TODO: ここにログを出力するコードを記述する Console.WriteLi

    WCF で集約例外ハンドラを実装する - present