WebChannelFactory<TChannel> 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
存取用戶端上 Windows Communication Foundation (WCF) Web 服務的類別。
generic <typename TChannel>
where TChannel : classpublic ref class WebChannelFactory : System::ServiceModel::ChannelFactory<TChannel>
public class WebChannelFactory<TChannel> : System.ServiceModel.ChannelFactory<TChannel> where TChannel : class
type WebChannelFactory<'Channel (requires 'Channel : null)> = class
inherit ChannelFactory<'Channel (requires 'Channel : null)>
Public Class WebChannelFactory(Of TChannel)
Inherits ChannelFactory(Of TChannel)
類型參數
- TChannel
要建立之通道的型別。
- 繼承
範例
下列程式碼示範如何使用 WebChannelFactory<TChannel> 類別來呼叫 WCF 服務。
Uri baseAddress = new Uri("http://localhost:8000");
WebServiceHost host = new WebServiceHost(typeof(Service), baseAddress);
try
{
host.Open();
WebChannelFactory<IService> cf = new WebChannelFactory<IService>(baseAddress);
IService channel = cf.CreateChannel();
string s;
Console.WriteLine("Calling EchoWithGet via HTTP GET: ");
s = channel.EchoWithGet("Hello, world");
Console.WriteLine(" Output: {0}", s);
Console.WriteLine("");
Console.WriteLine("Calling EchoWithPost via HTTP POST: ");
s = channel.EchoWithPost("Hello, world");
Console.WriteLine(" Output: {0}", s);
Console.WriteLine("");
}
catch (CommunicationException ex)
{
Console.WriteLine("An exception occurred: " + ex.Message);
}
Dim baseAddress As New Uri("http://localhost:8000")
Dim host As New WebServiceHost(GetType(Service), baseAddress)
Try
host.Open()
Dim cf As New WebChannelFactory(Of IService)(baseAddress)
Dim channel As IService = cf.CreateChannel()
Dim s As String
Console.WriteLine("Calling EchoWithGet via HTTP GET: ")
s = channel.EchoWithGet("Hello, world")
Console.WriteLine(" Output: 0}", s)
Console.WriteLine("")
Console.WriteLine("Calling EchoWithPost via HTTP POST: ")
s = channel.EchoWithPost("Hello, world")
Console.WriteLine(" Output: 0}", s)
Console.WriteLine("")
Catch ex As CommunicationException
Console.WriteLine("An exception occurred: " + ex.Message)
End Try
如需完整的程式碼範例,請參閱 基本 WCF REST 程式設計模型範例。
備註
此類別為特殊的 ChannelFactory,在它未存在時,自動新增 WebHttpBehavior 至端點。 此外,若繫結未清楚設定而位址為 HTTP 或 HTTPS 時,它會新增預設 WebHttpBinding 至端點。
若合約所有作業沒有傳回值或傳回值為 StreamWebChannelFactory<TChannel>型別時,那麼 會為合適的內容型別設定繫結。
建構函式
WebChannelFactory<TChannel>() |
初始化 WebChannelFactory<TChannel> 類別的新執行個體。 |
WebChannelFactory<TChannel>(Binding) |
初始化 WebChannelFactory<TChannel> 類別的新執行個體。 |
WebChannelFactory<TChannel>(Binding, Uri) |
使用指定的繫結及 WebChannelFactory<TChannel>,初始化 Uri 類別的新執行個體。 |
WebChannelFactory<TChannel>(ServiceEndpoint) |
初始化 WebChannelFactory<TChannel> 類別的新執行個體。 |
WebChannelFactory<TChannel>(String) |
初始化 WebChannelFactory<TChannel> 類別的新執行個體。 |
WebChannelFactory<TChannel>(String, Uri) |
使用指定的端點組態及 WebChannelFactory<TChannel>,初始化 Uri 類別的新執行個體。 |
WebChannelFactory<TChannel>(Type) |
初始化 WebChannelFactory<TChannel> 類別的新執行個體。 |
WebChannelFactory<TChannel>(Uri) |
使用指定的 WebChannelFactory<TChannel> 初始化 Uri 類別的新執行個體。 |
屬性
Credentials |
取得認證,用戶端會在處理站產生的通道上使用該認證與服務端點通訊。 (繼承來源 ChannelFactory) |
DefaultCloseTimeout |
取得針對要完成之關閉作業所提供的預設時間間隔。 (繼承來源 ChannelFactory) |
DefaultOpenTimeout |
取得針對要完成之開啟作業所提供的預設時間間隔。 (繼承來源 ChannelFactory) |
Endpoint |
取得由處理站產生的通道所要連接的服務端點。 (繼承來源 ChannelFactory) |
IsDisposed |
取得值,這個值會指出是否已經處置通訊物件。 (繼承來源 CommunicationObject) |
State |
取得值,這個值表示通訊物件目前的狀態。 (繼承來源 CommunicationObject) |
ThisLock |
取得會在狀態轉換期間保護類別執行個體的互斥鎖定。 (繼承來源 CommunicationObject) |
方法
事件
Closed |
當通訊物件轉換至已關閉狀態時發生。 (繼承來源 CommunicationObject) |
Closing |
當通訊物件轉換至關閉狀態時就會發生。 (繼承來源 CommunicationObject) |
Faulted |
當通訊物件轉換至錯誤狀態時發生。 (繼承來源 CommunicationObject) |
Opened |
當通訊物件轉換至已開啟狀態時發生。 (繼承來源 CommunicationObject) |
Opening |
當通訊物件轉換至開啟狀態時發生。 (繼承來源 CommunicationObject) |
明確介面實作
IDisposable.Dispose() |
關閉目前的通道處理站。 (繼承來源 ChannelFactory) |