Я делаю инспектора сообщения в WCF:
public class LogMessageInspector :
IDispatchMessageInspector, IClientMessageInspector
который реализует метод:
public object AfterReceiveRequest(ref Message request,
IClientChannel channel, InstanceContext instanceContext)
Я могу получить название вызванной службы с:
instanceContext.GetServiceInstance().GetType().Name
Но как я получаю название вызванной операции?
Это не очень красиво, но вот что я сделал, чтобы получить имя операции:
var action = OperationContext.Current.IncomingMessageHeaders.Action;
var operationName = action.Substring(action.LastIndexOf("/", StringComparison.OrdinalIgnoreCase) + 1);