WebChannelFactory<TChannel> 构造函数

定义

初始化 WebChannelFactory<TChannel> 类的新实例。

重载

WebChannelFactory<TChannel>()

初始化 WebChannelFactory<TChannel> 类的新实例。

WebChannelFactory<TChannel>(Binding)

初始化 WebChannelFactory<TChannel> 类的新实例。

WebChannelFactory<TChannel>(ServiceEndpoint)

初始化 WebChannelFactory<TChannel> 类的新实例。

WebChannelFactory<TChannel>(String)

初始化 WebChannelFactory<TChannel> 类的新实例。

WebChannelFactory<TChannel>(Type)

初始化 WebChannelFactory<TChannel> 类的新实例。

WebChannelFactory<TChannel>(Uri)

使用指定的 WebChannelFactory<TChannel> 初始化 Uri 类的新实例。

WebChannelFactory<TChannel>(Binding, Uri)

使用指定的绑定和 WebChannelFactory<TChannel> 初始化 Uri 类的新实例。

WebChannelFactory<TChannel>(String, Uri)

使用指定的终结点配置和 WebChannelFactory<TChannel> 初始化 Uri 类的新实例。

WebChannelFactory<TChannel>()

初始化 WebChannelFactory<TChannel> 类的新实例。

public:
 WebChannelFactory();
public WebChannelFactory ();
Public Sub New ()

适用于

WebChannelFactory<TChannel>(Binding)

初始化 WebChannelFactory<TChannel> 类的新实例。

public:
 WebChannelFactory(System::ServiceModel::Channels::Binding ^ binding);
public WebChannelFactory (System.ServiceModel.Channels.Binding binding);
new System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)> : System.ServiceModel.Channels.Binding -> System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)>
Public Sub New (binding As Binding)

参数

binding
Binding

要在创建通道时使用的绑定。

示例

以下代码演示如何使用此构造函数创建 WebChannelFactory<TChannel> 并使用它调用 WCF 服务。

Uri baseAddress = new Uri("http://localhost:8000");
WebServiceHost host = new WebServiceHost(typeof(Service), baseAddress);
try
{
    host.Open();
    WebHttpBinding binding = new WebHttpBinding();
    WebChannelFactory<IService> cf = new WebChannelFactory<IService>(binding);
    cf.Endpoint.Address = new EndpointAddress("http://localhost:8000");
    IService channel = cf.CreateChannel();
    string s;

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ");
    s = channel.EchoWithGet("Hello, world");
    Console.WriteLine("   Output: {0}", s);
}
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 binding As New WebHttpBinding()
    Dim cf As New WebChannelFactory(Of IService)(binding)
    cf.Endpoint.Address = New EndpointAddress("http://localhost:8000")
    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)
Catch ex As CommunicationException
    Console.WriteLine("An exception occurred: " + ex.Message)
End Try

适用于

WebChannelFactory<TChannel>(ServiceEndpoint)

初始化 WebChannelFactory<TChannel> 类的新实例。

public:
 WebChannelFactory(System::ServiceModel::Description::ServiceEndpoint ^ endpoint);
public WebChannelFactory (System.ServiceModel.Description.ServiceEndpoint endpoint);
new System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)> : System.ServiceModel.Description.ServiceEndpoint -> System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)>
Public Sub New (endpoint As ServiceEndpoint)

参数

endpoint
ServiceEndpoint

要在创建通道时使用的终结点。

示例

以下代码演示如何使用此构造函数创建 WebChannelFactory<TChannel> 并使用它调用 WCF 服务。

Uri baseAddress = new Uri("http://localhost:8000");
WebServiceHost host = new WebServiceHost(typeof(Service), baseAddress);
try
{
    host.Open();

    WebHttpBinding binding = new WebHttpBinding();
    ContractDescription desc = ContractDescription.GetContract(typeof(IService));
    EndpointAddress endpointAddress = new EndpointAddress("http://localhost:8000");
    ServiceEndpoint endpoint = new ServiceEndpoint(desc, binding, endpointAddress);

    WebChannelFactory<IService> cf = new WebChannelFactory<IService>(endpoint);
    IService channel = cf.CreateChannel();
    string s;

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ");
    s = channel.EchoWithGet("Hello, world");
    Console.WriteLine("   Output: {0}", s);
}
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 binding As New WebHttpBinding()
    Dim desc As ContractDescription = ContractDescription.GetContract(GetType(IService))
    Dim endpointAddress As New EndpointAddress("http://localhost:8000")
    Dim endpoint As New ServiceEndpoint(desc, binding, endpointAddress)

    Dim cf As New WebChannelFactory(Of IService)(endpoint)
    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)
Catch ex As CommunicationException
    Console.WriteLine("An exception occurred: " + ex.Message)
End Try

适用于

WebChannelFactory<TChannel>(String)

初始化 WebChannelFactory<TChannel> 类的新实例。

public:
 WebChannelFactory(System::String ^ endpointConfigurationName);
public WebChannelFactory (string endpointConfigurationName);
new System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)> : string -> System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)>
Public Sub New (endpointConfigurationName As String)

参数

endpointConfigurationName
String

配置通道时所使用的应用程序配置文件中的名称。

示例

下面的代码演示如何使用此构造函数创建 WebChannelFactory<TChannel> 实例,并使用它调用 WCF 服务。

Uri baseAddress = new Uri("http://localhost:8000");
WebServiceHost host = new WebServiceHost(typeof(Service), baseAddress);
try
{
    host.Open();

    // The endpoint name passed to the constructor must match an endpoint element
    // in the application configuration file
    WebChannelFactory<IService> cf = new WebChannelFactory<IService>("MyEndpoint");
    IService channel = cf.CreateChannel();
    string s;

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ");
    s = channel.EchoWithGet("Hello, world");
    Console.WriteLine("   Output: {0}", s);
}
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()

    ' The endpoint name passed to the constructor must match an endpoint element
    ' in the application configuration file
    Dim cf As New WebChannelFactory(Of IService)("MyEndpoint")
    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)
Catch ex As CommunicationException
    Console.WriteLine("An exception occurred: " + ex.Message)
End Try

注解

endpointConfigurationName 参数必须设置为与应用程序配置文件中 name 元素的 <endpoint> 属性相同的值。

适用于

WebChannelFactory<TChannel>(Type)

初始化 WebChannelFactory<TChannel> 类的新实例。

public:
 WebChannelFactory(Type ^ channelType);
public WebChannelFactory (Type channelType);
new System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)> : Type -> System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)>
Public Sub New (channelType As Type)

参数

channelType
Type

要使用的通道类型。

注解

为类型参数传递的类型必须是一个接口。

适用于

WebChannelFactory<TChannel>(Uri)

使用指定的 WebChannelFactory<TChannel> 初始化 Uri 类的新实例。

public:
 WebChannelFactory(Uri ^ remoteAddress);
public WebChannelFactory (Uri remoteAddress);
new System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)> : Uri -> System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)>
Public Sub New (remoteAddress As Uri)

参数

remoteAddress
Uri

调用的 Web 服务的 URI。

示例

下面的代码演示如何使用此构造函数创建 WebChannelFactory<TChannel> 实例并调用服务。

Uri baseAddress = new Uri("http://localhost:8000");
WebServiceHost host = new WebServiceHost(typeof(Service), baseAddress);
try
{
    host.Open();

    WebChannelFactory<IService> cf = new WebChannelFactory<IService>(new Uri("http://localhost:8000"));
    IService channel = cf.CreateChannel();
    string s;

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ");
    s = channel.EchoWithGet("Hello, world");
    Console.WriteLine("   Output: {0}", s);
}
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)(New Uri("http://localhost:8000"))
    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)
Catch ex As CommunicationException
    Console.WriteLine("An exception occurred: " + ex.Message)
End Try

适用于

WebChannelFactory<TChannel>(Binding, Uri)

使用指定的绑定和 WebChannelFactory<TChannel> 初始化 Uri 类的新实例。

public:
 WebChannelFactory(System::ServiceModel::Channels::Binding ^ binding, Uri ^ remoteAddress);
public WebChannelFactory (System.ServiceModel.Channels.Binding binding, Uri remoteAddress);
new System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)> : System.ServiceModel.Channels.Binding * Uri -> System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)>
Public Sub New (binding As Binding, remoteAddress As Uri)

参数

binding
Binding

要使用的绑定。

remoteAddress
Uri

调用的 Web 服务的 URI。

示例

下面的代码演示如何使用此构造函数创建 WebChannelFactory<TChannel> 实例并调用服务。

Uri baseAddress = new Uri("http://localhost:8000");
WebServiceHost host = new WebServiceHost(typeof(Service), baseAddress);
try
{
    host.Open();

    WebHttpBinding binding = new WebHttpBinding();
    WebChannelFactory<IService> cf = new WebChannelFactory<IService>(binding, new Uri("http://localhost:8000"));
    IService channel = cf.CreateChannel();
    string s;

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ");
    s = channel.EchoWithGet("Hello, world");
    Console.WriteLine("   Output: {0}", s);
}
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 binding As New WebHttpBinding()
    Dim cf As New WebChannelFactory(Of IService)(binding, New Uri("http://localhost:8000"))
    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)
Catch ex As CommunicationException
    Console.WriteLine("An exception occurred: " + ex.Message)
End Try

适用于

WebChannelFactory<TChannel>(String, Uri)

使用指定的终结点配置和 WebChannelFactory<TChannel> 初始化 Uri 类的新实例。

public:
 WebChannelFactory(System::String ^ endpointConfigurationName, Uri ^ remoteAddress);
public WebChannelFactory (string endpointConfigurationName, Uri remoteAddress);
new System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)> : string * Uri -> System.ServiceModel.Web.WebChannelFactory<'Channel (requires 'Channel : null)>
Public Sub New (endpointConfigurationName As String, remoteAddress As Uri)

参数

endpointConfigurationName
String

配置通道时所使用的应用程序配置文件中的名称。

remoteAddress
Uri

调用的 Web 服务的 URI。

示例

下面的代码演示如何使用此构造函数创建 WebChannelFactory<TChannel> 实例并调用服务。

Uri baseAddress = new Uri("http://localhost:8000");
WebServiceHost host = new WebServiceHost(typeof(Service), baseAddress);
try
{
    host.Open();

    // The endpoint name passed to the constructor must match an endpoint element
    // in the application configuration file
    WebChannelFactory<IService> cf = new WebChannelFactory<IService>("MyEndpoint", new Uri("http://localhost:8000"));
    IService channel = cf.CreateChannel();
    string s;

    Console.WriteLine("Calling EchoWithGet via HTTP GET: ");
    s = channel.EchoWithGet("Hello, world");
    Console.WriteLine("   Output: {0}", s);
}
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()

    ' The endpoint name passed to the constructor must match an endpoint element
    ' in the application configuration file
    Dim cf As New WebChannelFactory(Of IService)("MyEndpoint", New Uri("http://localhost:8000"))
    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)
Catch ex As CommunicationException
    Console.WriteLine("An exception occurred: " + ex.Message)
End Try

注解

endpointConfigurationName 参数必须设置为与应用程序配置文件中 name 元素的 <endpoint> 属性相同的值。

适用于