ChannelFactory<TChannel> 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 ChannelFactory<TChannel> 類別的新執行個體。
多載
ChannelFactory<TChannel>() |
初始化 ChannelFactory<TChannel> 類別的新執行個體。 |
ChannelFactory<TChannel>(Binding) |
初始化 ChannelFactory<TChannel> 類別的新執行個體。 |
ChannelFactory<TChannel>(ServiceEndpoint) |
初始化 ChannelFactory<TChannel> 類別的新執行個體,以使用指定端點來產生通道。 |
ChannelFactory<TChannel>(String) |
使用指定的端點組態名稱,來初始化 ChannelFactory<TChannel> 類別的新執行個體。 |
ChannelFactory<TChannel>(Type) |
初始化 ChannelFactory<TChannel> 類別的新執行個體。 |
ChannelFactory<TChannel>(Binding, EndpointAddress) |
使用指定的繫結與端點位址,來初始化 ChannelFactory<TChannel> 類別的新執行個體。 |
ChannelFactory<TChannel>(Binding, String) |
使用指定的繫結與遠端位址,來初始化 ChannelFactory<TChannel> 類別的新執行個體。 |
ChannelFactory<TChannel>(String, EndpointAddress) |
以指定的端點組態名稱與遠端位址,來初始化 ChannelFactory<TChannel> 類別的新執行個體。 |
ChannelFactory<TChannel>()
初始化 ChannelFactory<TChannel> 類別的新執行個體。
public:
ChannelFactory();
public ChannelFactory ();
Public Sub New ()
範例
這個範例將說明如何以 ChannelFactory<TChannel> 介面建立 IRequestChannel
類別的新物件。
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>("MyEndpoint", address);
適用於
ChannelFactory<TChannel>(Binding)
初始化 ChannelFactory<TChannel> 類別的新執行個體。
public:
ChannelFactory(System::ServiceModel::Channels::Binding ^ binding);
public ChannelFactory (System.ServiceModel.Channels.Binding binding);
new System.ServiceModel.ChannelFactory<'Channel> : System.ServiceModel.Channels.Binding -> System.ServiceModel.ChannelFactory<'Channel>
Public Sub New (binding As Binding)
參數
備註
當您要以程式設計的方式傳遞繫結資訊而非使用應用程式組態檔時,請使用此建構函式。
適用於
ChannelFactory<TChannel>(ServiceEndpoint)
初始化 ChannelFactory<TChannel> 類別的新執行個體,以使用指定端點來產生通道。
public:
ChannelFactory(System::ServiceModel::Description::ServiceEndpoint ^ endpoint);
public ChannelFactory (System.ServiceModel.Description.ServiceEndpoint endpoint);
new System.ServiceModel.ChannelFactory<'Channel> : System.ServiceModel.Description.ServiceEndpoint -> System.ServiceModel.ChannelFactory<'Channel>
Public Sub New (endpoint As ServiceEndpoint)
參數
- endpoint
- ServiceEndpoint
由處理站所產生的通道之 ServiceEndpoint。
例外狀況
endpoint
為 null
。
範例
ContractDescription contract = new ContractDescription("MyContract");
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
BasicHttpBinding binding = new BasicHttpBinding();
ServiceEndpoint endpoint = new ServiceEndpoint(contract, binding, address);
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>(endpoint);
備註
當您要以程式設計的方式傳遞服務端點資訊而非使用應用程式組態檔時,請使用此建構函式。
適用於
ChannelFactory<TChannel>(String)
使用指定的端點組態名稱,來初始化 ChannelFactory<TChannel> 類別的新執行個體。
public:
ChannelFactory(System::String ^ endpointConfigurationName);
public ChannelFactory (string endpointConfigurationName);
new System.ServiceModel.ChannelFactory<'Channel> : string -> System.ServiceModel.ChannelFactory<'Channel>
Public Sub New (endpointConfigurationName As String)
參數
- endpointConfigurationName
- String
用於端點的組態名稱。
例外狀況
endpointConfigurationName
為 null
。
範例
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>("MyEndpoint");
備註
當應用程式組態檔的目標端點超過一個時,請使用此建構函式。
適用於
ChannelFactory<TChannel>(Type)
初始化 ChannelFactory<TChannel> 類別的新執行個體。
protected:
ChannelFactory(Type ^ channelType);
protected ChannelFactory (Type channelType);
new System.ServiceModel.ChannelFactory<'Channel> : Type -> System.ServiceModel.ChannelFactory<'Channel>
Protected Sub New (channelType As Type)
參數
例外狀況
channelType
為 null
。
channelType
是類別或值型別,不是介面。
備註
當您要以程式設計的方式傳遞通道型別資訊而非使用應用程式組態檔時,請使用此建構函式。
channelType
參數必須是介面。
適用於
ChannelFactory<TChannel>(Binding, EndpointAddress)
使用指定的繫結與端點位址,來初始化 ChannelFactory<TChannel> 類別的新執行個體。
public:
ChannelFactory(System::ServiceModel::Channels::Binding ^ binding, System::ServiceModel::EndpointAddress ^ remoteAddress);
public ChannelFactory (System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress);
new System.ServiceModel.ChannelFactory<'Channel> : System.ServiceModel.Channels.Binding * System.ServiceModel.EndpointAddress -> System.ServiceModel.ChannelFactory<'Channel>
Public Sub New (binding As Binding, remoteAddress As EndpointAddress)
參數
- remoteAddress
- EndpointAddress
提供服務位置的 EndpointAddress。
例外狀況
binding
為 null
。
範例
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>(binding, address);
備註
當您要以程式設計的方式傳遞繫結與位址資訊而非使用應用程式組態檔時,請使用此建構函式。
適用於
ChannelFactory<TChannel>(Binding, String)
使用指定的繫結與遠端位址,來初始化 ChannelFactory<TChannel> 類別的新執行個體。
public:
ChannelFactory(System::ServiceModel::Channels::Binding ^ binding, System::String ^ remoteAddress);
public ChannelFactory (System.ServiceModel.Channels.Binding binding, string remoteAddress);
new System.ServiceModel.ChannelFactory<'Channel> : System.ServiceModel.Channels.Binding * string -> System.ServiceModel.ChannelFactory<'Channel>
Public Sub New (binding As Binding, remoteAddress As String)
參數
- remoteAddress
- String
提供服務位置的位址。
例外狀況
remoteAddress
為 null
。
範例
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
Uri via = new Uri("http://localhost:8000/Via");
ChannelFactory<IRequestChannel> factory =
new ChannelFactory<IRequestChannel>(binding, "http://fsHost/fs/endp");
IRequestChannel channel = factory.CreateChannel(address, via);
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();
備註
當您要以字串傳遞遠端位址的資訊,而非使用型別物件時,請使用此建構函式。
適用於
ChannelFactory<TChannel>(String, EndpointAddress)
以指定的端點組態名稱與遠端位址,來初始化 ChannelFactory<TChannel> 類別的新執行個體。
public:
ChannelFactory(System::String ^ endpointConfigurationName, System::ServiceModel::EndpointAddress ^ remoteAddress);
public ChannelFactory (string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress);
new System.ServiceModel.ChannelFactory<'Channel> : string * System.ServiceModel.EndpointAddress -> System.ServiceModel.ChannelFactory<'Channel>
Public Sub New (endpointConfigurationName As String, remoteAddress As EndpointAddress)
參數
- endpointConfigurationName
- String
用於端點的組態名稱。
- remoteAddress
- EndpointAddress
提供服務位置的 EndpointAddress。
例外狀況
endpointConfigurationName
或 remoteAddress
為 null
。
範例
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>("MyEndpoint", address);