У меня есть сервис, который предоставляет несколько конечных точек. Один из них wsHttp, а другой Net.Tcp. Могу ли я узнать, какой клиент использовал для вызова внутри метода сервиса?
Спасибо!
Вы можете использовать объект OperationContext для получения информации о канале
if (OperationContext.Channel.LocalAddress.Uri.Scheme == Uri.UriSchemeHttp) { // Called by wsHTTP } else if (OperationContext.Channel.LocalAddress.Uri.Scheme == Uri.UriSchemeNetTcp) { // Called by NetTcp } ...
Да. Если вы посмотрите на следующее свойство, вы сможете определить, откуда все произошло.
OperationContext.Current.EndpointDispatcher.EndpointAddress