編輯

共用方式為


ChannelFactory<TChannel>.CreateChannel Method

Definition

Creates a channel of a specified type to a specified endpoint address.

Overloads

CreateChannel(Binding, EndpointAddress, Uri)

Creates a channel of a specified type that is used to send messages to a service endpoint at a specified transport address that is configured with a specified binding.

CreateChannel(EndpointAddress, Uri)

Creates a channel that is used to send messages to a service at a specific endpoint address through a specified transport address.

CreateChannel(Binding, EndpointAddress)

Creates a channel of a specified type that is used to send messages to a service endpoint that is configured with a specified binding.

CreateChannel(EndpointAddress)

Creates a channel that is used to send messages to a service at a specific endpoint address.

CreateChannel()

Creates a channel of a specified type to a specified endpoint address.

CreateChannel(String)

Creates a channel that is used to send messages to a service whose endpoint is configured in a specified way.

Remarks

Creates a channel of type TChannel, the generic parameter for the class.

CreateChannel(Binding, EndpointAddress, Uri)

Source:
ChannelFactory.cs
Source:
ChannelFactory.cs

Creates a channel of a specified type that is used to send messages to a service endpoint at a specified transport address that is configured with a specified binding.

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

Parameters

binding
Binding

The Binding used to configure the endpoint.

endpointAddress
EndpointAddress

The EndpointAddress that provides the location of the service.

via
Uri

The Uri that contains the transport address to which the channel sends messages.

Returns

TChannel

The TChannel of type IChannel created by the factory.

Exceptions

The ChannelFactory has duplex operations it does not support.

Examples


 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();
    }
}

Applies to

CreateChannel(EndpointAddress, Uri)

Source:
ChannelFactory.cs
Source:
ChannelFactory.cs

Creates a channel that is used to send messages to a service at a specific endpoint address through a specified transport address.

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

Parameters

address
EndpointAddress

The EndpointAddress that provides the location of the service.

via
Uri

The Uri that contains the transport address to which the channel sends messages.

Returns

TChannel

The TChannel of type IChannel created by the factory.

Implements

Exceptions

address is null.

The ChannelFactory has duplex operations it does not support.

Examples

    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();

Applies to

CreateChannel(Binding, EndpointAddress)

Source:
ChannelFactory.cs
Source:
ChannelFactory.cs

Creates a channel of a specified type that is used to send messages to a service endpoint that is configured with a specified binding.

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

Parameters

binding
Binding

The Binding used to configure the endpoint.

endpointAddress
EndpointAddress

The EndpointAddress that provides the location of the service.

Returns

TChannel

The TChannel of type IChannel created by the factory.

Exceptions

The ChannelFactory has duplex operations it does not support.

Examples


       EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
       IRequestChannel channel = ChannelFactory<IRequestChannel>.CreateChannel(binding, address);
       channel.Open();

Applies to

CreateChannel(EndpointAddress)

Source:
ChannelFactory.cs
Source:
ChannelFactory.cs

Creates a channel that is used to send messages to a service at a specific endpoint address.

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

Parameters

address
EndpointAddress

The EndpointAddress that provides the location of the service.

Returns

TChannel

The TChannel of type IChannel created by the factory.

Implements

Exceptions

address is null.

Examples

BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>(binding);
factory.CreateChannel(address);

Applies to

CreateChannel()

Source:
ChannelFactory.cs
Source:
ChannelFactory.cs

Creates a channel of a specified type to a specified endpoint address.

public:
 TChannel CreateChannel();
public TChannel CreateChannel ();
member this.CreateChannel : unit -> 'Channel
Public Function CreateChannel () As TChannel

Returns

TChannel

The TChannel of type IChannel created by the factory.

Examples

IChannelFactory<IRequestChannel> factory = binding.BuildChannelFactory<IRequestChannel>(bindingParams);
factory.Open();
EndpointAddress address = new EndpointAddress("http://localhost:8000/ChannelApp");
IRequestChannel channel = factory.CreateChannel(address);
channel.Open();

Remarks

Creates a channel of type TChannel, the generic parameter for the class.

Applies to

CreateChannel(String)

Creates a channel that is used to send messages to a service whose endpoint is configured in a specified way.

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

Parameters

endpointConfigurationName
String

The name of the endpoint configuration used for the service.

Returns

TChannel

The TChannel of type IChannel created by the factory.

Exceptions

The ChannelFactory has duplex operations it does not support.

Examples

    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();
}

Applies to