更新 : 2007 年 11 月
さまざまに構成されたサービス エンドポイントにメッセージを送信するためにクライアントが使用する、異なる種類のチャネルを作成するファクトリ。
名前空間 :
System.ServiceModel
アセンブリ :
System.ServiceModel (System.ServiceModel.dll 内)
Public Class ChannelFactory(Of TChannel) _
Inherits ChannelFactory _
Implements IChannelFactory(Of TChannel), IChannelFactory, _
ICommunicationObject
Dim instance As ChannelFactory(Of TChannel)
public class ChannelFactory<TChannel> : ChannelFactory,
IChannelFactory<TChannel>, IChannelFactory, ICommunicationObject
generic<typename TChannel>
public ref class ChannelFactory : public ChannelFactory,
IChannelFactory<TChannel>, IChannelFactory, ICommunicationObject
J# では、ジェネリック API は使用できますが、新規に宣言することはできません。
JScript では、ジェネリックな型またはメソッドは使用できません。
このジェネリック クラスは、複数の種類のチャネルを作成するために使用できるチャネル ファクトリを作成するという要件を持つ高度なシナリオを可能にします。
プログラムを使用して動作を追加する場合は、チャネルの作成の前に ChannelFactory の適切な Behaviors プロパティに動作が追加されます。コード例については、「使用例」のセクションを参照してください。
次の例では、チャネル ファクトリを作成する方法、およびそれを使用してチャネルを作成および管理する方法を示しています。
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
参照