ChannelFactory<TChannel>.CreateChannel 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立指向指定之端點位址的指定型別通道。
多載
CreateChannel(Binding, EndpointAddress, Uri) |
建立用來傳送訊息至服務端點之指定型別的通道,在指定傳輸位址的此服務端點採用指定的繫結設定。 |
CreateChannel(EndpointAddress, Uri) |
建立一個透過指定傳輸位址將訊息傳送至指定端點位址的服務的通道。 |
CreateChannel(Binding, EndpointAddress) |
建立用來傳送訊息至服務端點之指定型別的通道,此服務端點採用指定的繫結設定。 |
CreateChannel(EndpointAddress) |
建立用來傳送訊息至指定端點位址的服務的通道。 |
CreateChannel() |
建立指向指定之端點位址的指定型別通道。 |
CreateChannel(String) |
建立用來傳送訊息至指定端點位址的服務的通道,此服務的端點採用特定方式設定。 |
備註
建立 TChannel
型別的通道 (類別的泛型參數)。
CreateChannel(Binding, EndpointAddress, Uri)
建立用來傳送訊息至服務端點之指定型別的通道,在指定傳輸位址的此服務端點採用指定的繫結設定。
public:
static TChannel CreateChannel(System::ServiceModel::Channels::Binding ^ binding, System::ServiceModel::EndpointAddress ^ endpointAddress, Uri ^ via);
public static TChannel CreateChannel (System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress endpointAddress, Uri via);
static member CreateChannel : System.ServiceModel.Channels.Binding * System.ServiceModel.EndpointAddress * Uri -> 'Channel
Public Shared Function CreateChannel (binding As Binding, endpointAddress As EndpointAddress, via As Uri) As TChannel
參數
- endpointAddress
- EndpointAddress
提供服務位置的 EndpointAddress。
傳回
由處理站所建立之 TChannel
型別的 IChannel。
例外狀況
ChannelFactory 有其不支援的雙工操作。
範例
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
Uri uri = new Uri("http://localhost:8000/Via");
IRequestChannel channel =
ChannelFactory<IRequestChannel>.CreateChannel(binding, address, uri);
channel.Open();
class Program : ChannelFactory<IService1Channel>
{
static void Main(string[] args)
{
IService1Channel channel = CreateChannel("BasicHttpBinding_IService1");
channel.Open();
channel.Close();
}
}
適用於
CreateChannel(EndpointAddress, Uri)
建立一個透過指定傳輸位址將訊息傳送至指定端點位址的服務的通道。
public:
virtual TChannel CreateChannel(System::ServiceModel::EndpointAddress ^ address, Uri ^ via);
public virtual TChannel CreateChannel (System.ServiceModel.EndpointAddress address, Uri via);
abstract member CreateChannel : System.ServiceModel.EndpointAddress * Uri -> 'Channel
override this.CreateChannel : System.ServiceModel.EndpointAddress * Uri -> 'Channel
Public Overridable Function CreateChannel (address As EndpointAddress, via As Uri) As TChannel
參數
- address
- EndpointAddress
提供服務位置的 EndpointAddress。
傳回
由處理站所建立之 TChannel
型別的 IChannel。
實作
例外狀況
address
為 null
。
ChannelFactory 有其不支援的雙工操作。
範例
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);
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();
適用於
CreateChannel(Binding, EndpointAddress)
建立用來傳送訊息至服務端點之指定型別的通道,此服務端點採用指定的繫結設定。
public:
static TChannel CreateChannel(System::ServiceModel::Channels::Binding ^ binding, System::ServiceModel::EndpointAddress ^ endpointAddress);
public static TChannel CreateChannel (System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress endpointAddress);
static member CreateChannel : System.ServiceModel.Channels.Binding * System.ServiceModel.EndpointAddress -> 'Channel
Public Shared Function CreateChannel (binding As Binding, endpointAddress As EndpointAddress) As TChannel
參數
- endpointAddress
- EndpointAddress
提供服務位置的 EndpointAddress。
傳回
由處理站所建立之 TChannel
型別的 IChannel。
例外狀況
ChannelFactory 有其不支援的雙工操作。
範例
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
IRequestChannel channel = ChannelFactory<IRequestChannel>.CreateChannel(binding, address);
channel.Open();
適用於
CreateChannel(EndpointAddress)
建立用來傳送訊息至指定端點位址的服務的通道。
public:
virtual TChannel CreateChannel(System::ServiceModel::EndpointAddress ^ address);
public TChannel CreateChannel (System.ServiceModel.EndpointAddress address);
abstract member CreateChannel : System.ServiceModel.EndpointAddress -> 'Channel
override this.CreateChannel : System.ServiceModel.EndpointAddress -> 'Channel
Public Function CreateChannel (address As EndpointAddress) As TChannel
參數
- address
- EndpointAddress
提供服務位置的 EndpointAddress。
傳回
由處理站所建立之 TChannel
型別的 IChannel。
實作
例外狀況
address
為 null
。
範例
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>(binding);
factory.CreateChannel(address);
適用於
CreateChannel()
建立指向指定之端點位址的指定型別通道。
public:
TChannel CreateChannel();
public TChannel CreateChannel ();
member this.CreateChannel : unit -> 'Channel
Public Function CreateChannel () As TChannel
傳回
由處理站所建立之 TChannel
型別的 IChannel。
範例
IChannelFactory<IRequestChannel> factory = binding.BuildChannelFactory<IRequestChannel>(bindingParams);
factory.Open();
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
IRequestChannel channel = factory.CreateChannel(address);
channel.Open();
備註
建立 TChannel
型別的通道 (類別的泛型參數)。
適用於
CreateChannel(String)
建立用來傳送訊息至指定端點位址的服務的通道,此服務的端點採用特定方式設定。
protected:
static TChannel CreateChannel(System::String ^ endpointConfigurationName);
protected static TChannel CreateChannel (string endpointConfigurationName);
static member CreateChannel : string -> 'Channel
Protected Shared Function CreateChannel (endpointConfigurationName As String) As TChannel
參數
- endpointConfigurationName
- String
該服務所用的端點組態名稱。
傳回
由處理站所建立之 TChannel
型別的 IChannel。
例外狀況
ChannelFactory 有其不支援的雙工操作。
範例
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();
}