tags:

views:

24

answers:

2

Hi !

I have a service that exposes multiple endpoints. One beeing wsHttp and the other Net.Tcp. Is there any way I can know which one the clients used to make the call inside the service method ?

Thanks !

+1  A: 

Yes. If you look at the following property you should be able to tell where things came in from.

OperationContext.Current.EndpointDispatcher.EndpointAddress 
Flesrouy
+2  A: 

You can use the OperationContext object to retrieve the channel information


if (OperationContext.Channel.LocalAddress.Uri.Scheme == Uri.UriSchemeHttp)
{
   // Called by wsHTTP
}
else if (OperationContext.Channel.LocalAddress.Uri.Scheme == Uri.UriSchemeNetTcp)
{
   // Called by NetTcp
}
...

CriGoT
Thanks a lot ! It works just as I wanted.
ultraman69