Я получил решение для проверки маркера
службы WCF реализованы (IDispatchMessageInspector) на следующие два метода, чтобы заботиться о проверке заголовка мыла и Протоколирование SOAP-запросы и SOAP-ответов.
AfterReceiveRequest метод Таким образом, все входящие запросы SOAP автоматически вызываются для ValidateToken() и будут регистрироваться тоже.
BeforeSendReply Все сообщения SOAP ответа регистрируются здесь.
#region IDispatchMessageInspector Members
public object AfterReceiveRequest(ref System.ServiceModel.Channels.Message request, IClientChannel channel, InstanceContext instanceContext)
{
int headerIndex1 = OperationContext.Current.IncomingMessageHeaders.FindHeader("TokenIdentity", "");
XmlReader r = OperationContext.Current.IncomingMessageHeaders.GetReaderAtHeader(0).ReadSubtree();
XElement data = XElement.Load(r);
var tokenValue = (string)data;
ValidateToken(tokenValue);
//Log the Request with Log4Net or something
//Console.WriteLine("IDispatchMessageInspector.AfterReceiveRequest called.");
return null;
}
public void BeforeSendReply(ref System.ServiceModel.Channels.Message reply, object correlationState)
{
//Log the Response with Log4Net or something
//Console.WriteLine("IDispatchMessageInspector.BeforeSendReply called.");
}
#endregion