2010-03-22 3 views
0

Я внедрил IDispatchMessageInspector и в методе AfterReceiveRequest Я могу получить имя метода (действия), вызывающего от клиента следующим образом: request.Headers.Action. Могу ли я найти имя службы, в котором был реализован этот метод? Например, у меня есть сервис Test и два метода Start и Stop и request.Headers.Action для этого метода, как этот запрос.Headers.Action «http://bla.my.com/Start» и «http://bla.my.com/Start» «Как я могу найти имя Test и возможно это или невозможно?IDispatchMessageInspector :: AfterReceiveRequest Имя службы вызова

+0

Как вы получаете имя метода (действия), вызывающего от клиента как this 'request.Headers.Action'? Это всегда возвращает null для меня в 'AfterReceiveRequest'. –

ответ

0

Я нашел предложение: instanceContext.GetServiceInstance() возвращает имя службы, в которой реализован вызывается метод.

1

Правильный ответ request.Headers.To, потому что мы получили сообщение от клиента TO веб-сервиса, и если мы разбираем свойство TO мы будем знать имя службы. И instanceContext.GetServiceInstance() создан новый экземпляр службы, и это неправильное поведение для возвращаемого имени службы.

Смежные вопросы