IRequestChannel.Via Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Gets the transport address to which the request is send.

Namespace:  System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

Syntax

'Declaration
ReadOnly Property Via As Uri
Uri Via { get; }

Property Value

Type: System.Uri
The Uri that contains the transport address to which the message is sent.

Remarks

The EndpointAddress serves as both the ultimate destination and the physical address if a Via is not specified. If the Via is specified, then that is the actual physical address to which the message is sent and through which the message must go to arrive at its destination.

Examples

The following code illustrates how to implement this property:

            ' Initialize request channel factory with a binding and a remote endpoint address.
            Dim binding As New BasicHttpBinding()
            Dim address As New EndpointAddress("https://localhost:8000/ChannelApp")
            Dim factory As New ChannelFactory(Of IRequestChannel)(binding, address)

            ' Create an IRequestChannel object and open it.
            Dim channel As IRequestChannel = factory.CreateChannel()
            channel.Open()

            ' Get the endpoint address for the channel.
            Dim epa As EndpointAddress = channel.RemoteAddress

            ' Get the transport address for the channel.
            Dim via As Uri = channel.Via

            ' Send a request message on  the channel.
            Dim request As Message = Message.CreateMessage(MessageVersion.Soap11, "hello")

            ' Request  sent and correlated with a reply message.
            Dim reply As Message = channel.Request(request)

            reply.Close()
            channel.Close()
            factory.Close()
// Initialize request channel factory with a binding and a remote endpoint address.
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("https://localhost:8000/ChannelApp");
ChannelFactory<IRequestChannel> factory =
    new ChannelFactory<IRequestChannel>(binding, address);

// Create an IRequestChannel object and open it.
IRequestChannel channel = factory.CreateChannel();
channel.Open();

// Get the endpoint address for the channel.
EndpointAddress epa = channel.RemoteAddress;

// Get the transport address for the channel.
Uri via = channel.Via;

// Send a request message on  the channel.
Message request = Message.CreateMessage(MessageVersion.Soap11, "hello");

// Request  sent and correlated with a reply message.
Message reply = channel.Request(request);

reply.Close();
channel.Close();
factory.Close();

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.