System.ServiceModel 名前空間


.NET Framework クラス ライブラリ
ChannelFactory<(Of <(TChannel>)>) クラス

更新 : 2007 年 11 月

さまざまに構成されたサービス エンドポイントにメッセージを送信するためにクライアントが使用する、異なる種類のチャネルを作成するファクトリ。

名前空間 :  System.ServiceModel
アセンブリ :  System.ServiceModel (System.ServiceModel.dll 内)
構文

Visual Basic (宣言)
Public Class ChannelFactory(Of TChannel) _
    Inherits ChannelFactory _
    Implements IChannelFactory(Of TChannel), IChannelFactory,  _
    ICommunicationObject
Visual Basic (使用法)
Dim instance As ChannelFactory(Of TChannel)
C#
public class ChannelFactory<TChannel> : ChannelFactory, 
    IChannelFactory<TChannel>, IChannelFactory, ICommunicationObject
Visual C++
generic<typename TChannel>
public ref class ChannelFactory : public ChannelFactory, 
    IChannelFactory<TChannel>, IChannelFactory, ICommunicationObject
J#
J# では、ジェネリック API は使用できますが、新規に宣言することはできません。
JScript
JScript では、ジェネリックな型またはメソッドは使用できません。

型パラメータ

TChannel

チャネル ファクトリにより作成されたチャネルの型。この型は、IOutputChannel または IRequestChannel である必要があります。

解説

このジェネリック クラスは、複数の種類のチャネルを作成するために使用できるチャネル ファクトリを作成するという要件を持つ高度なシナリオを可能にします。

プログラムを使用して動作を追加する場合は、チャネルの作成の前に ChannelFactory の適切な Behaviors プロパティに動作が追加されます。コード例については、「使用例」のセクションを参照してください。


次の例では、チャネル ファクトリを作成する方法、およびそれを使用してチャネルを作成および管理する方法を示しています。

C#
           BasicHttpBinding binding = new BasicHttpBinding();
           EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");

           ChannelFactory<IRequestChannel> factory =
               new ChannelFactory<IRequestChannel>(binding, address);

           IRequestChannel channel = factory.CreateChannel();
           channel.Open();
           Message request = Message.CreateMessage(MessageVersion.Soap11, "hello");
           Message reply = channel.Request(request);
           Console.Out.WriteLine(reply.Headers.Action);
           reply.Close();
           channel.Close();
           factory.Close();

次のコード例は、チャネル オブジェクトの作成前に、ファクトリによってプログラムでクライアント動作が挿入される方法を示します。

継承階層

System..::.Object
  System.ServiceModel.Channels..::.CommunicationObject
    System.ServiceModel..::.ChannelFactory
      System.ServiceModel..::.ChannelFactory<(Of <(TChannel>)>)
        System.ServiceModel..::.DuplexChannelFactory<(Of <(TChannel>)>)
        System.ServiceModel.Web..::.WebChannelFactory<(Of <(TChannel>)>)
スレッド セーフ

この型はスレッド セーフです。

プラットフォーム

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報

.NET Framework

サポート対象 : 3.5、3.0
参照

参照

タグ :


Page view tracker