Проверка вызова службы WCF - PullRequest
0 голосов
/ 16 января 2020

Я создал службу WCF, используя C#, которая работает на Windows сервере 2016 года.

Мне нужно знать, когда этот WCF был вызван с клиента и кто его вызывал (например, IP)

Есть ли способ сделать это? Я пытался проверить просмотрщик событий и IIS, но не узнал как. Спасибо,

Ответы [ 3 ]

3 голосов
/ 16 января 2020

Вы действительно должны использовать какую-то структуру ведения журналов (Log 4Net, NLog, MS logger logger ...),

, которая позволит вам войти в текстовый файл, электронную почту, журнал событий или базы данных, и вы сможете прежде всего документировать любую ошибку / исключение, выброшенное из вашего кода, чтобы вы могли исследовать и устранять ошибки, плюс вы можете также включить записи журнала информационного / подробного уровня для захвата, как вы говорите, вызывающего IP и метка времени, а также параметры вызова, если вам это нужно и нужно.

1 голос
/ 16 января 2020

вы можете попробовать существующие Журнал сервисных вызовов WCF с информацией о параметрах регистрация с system.diagnostics конфигурацией

или создание собственной реализации для IOperationInvoker как здесь Журнал сервисных вызовов WCF с Информация о параметре

1 голос
/ 16 января 2020

Регистрация каждого запроса лучшее, что вы можете сделать. Если вы хотите узнать, как получить IP-адрес клиента в WCF, вам поможет следующий метод. Затем вы можете войти в этот IP, запрос времени и т. Д. c.

public string GetClientIp()
{
  OperationContext operationContext = OperationContext.Current;
  MessageProperties messageProps = operationContext.IncomingMessageProperties;
  RemoteEndpointMessageProperty endpointProps = (RemoteEndpointMessageProperty)messageProps[RemoteEndpointMessageProperty.Name];

  return endpointProps.Address;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...