OperationContext の IncomingMessageHeaders や IncomingMessageProperties から取り出せる。 でもこれくらいはプロパティで用意しておいて欲しいな。
public static class OperationContextExtensions { // 実行中のサービスのオペレーション名を取得 public static string GetOperationName(this OperationContext operationContext) { var action = operationContext.IncomingMessageHeaders.Action; var operationName = action.Substring(action.LastIndexOf("/", StringComparison.OrdinalIgnoreCase) + 1); return operationName; } // クライアントの IP アドレスを取得 public static string GetClientIPAddress(this OperationContext operationContext) { var messageKey = RemoteEndpointMessageProperty.Name; if (operationContext.IncomingMessageProperties.ContainsKey(messageKey)) { var message = operationContext.IncomingMessageProperties[messageKey] as RemoteEndpointMessageProperty; if (message != null) { return message.Address; } } return string.Empty; } }