これは、OperationContract メソッドではなく、別のメソッドから OperationContext.Current.IncomingMessageProperties にアクセスしようとすると発生します。
OperationContext.Current.IncomingMessageProperties にアクセスするには、OperationContext への拡張メソッドを作成して、プロパティにアクセスします。
このようなもの:
public static string GetClientIP(this OperationContext context)
{
string ip = "";
MessageProperties messageProperties = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpointProperty =
messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
if (endpointProperty != null)
{
ip = endpointProperty.Address;
}
return ip;
}