Получить привязки конфигурации WCF - PullRequest
0 голосов
/ 14 июля 2010

У меня есть сервис, который предоставляет несколько конечных точек. Один из них wsHttp, а другой Net.Tcp. Могу ли я узнать, какой клиент использовал для вызова внутри метода сервиса?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 15 июля 2010

Вы можете использовать объект OperationContext для получения информации о канале


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

1 голос
/ 15 июля 2010

Да. Если вы посмотрите на следующее свойство, вы сможете определить, откуда все произошло.

OperationContext.Current.EndpointDispatcher.EndpointAddress 
...