WCF服务自定义消息检查器

时间:2016-07-22 18:07:57

标签: c# wcf xmlhttprequest

我构建了一个使用自定义用户名和密码身份验证的WCF服务,我正在使用以下代码从客户端应用程序对其进行测试:

using (ServiceReferenceClient.TestServiceClient tc = new ServiceReferenceClient.TestServiceClient())
{
    tc.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;
    tc.ClientCredentials.UserName.UserName = "User1";
    tc.ClientCredentials.UserName.Password = "Pwd1";
    tc.ServiceMethod(param1, param2, param3);
}

它工作正常,但我需要看到发送到WCF服务和响应的实际SOAP请求。我怎么能从我的客户那里做到这一点?

我知道我可能需要编写自己的自定义消息检查器,并希望了解如何构建一个

1 个答案:

答案 0 :(得分:1)

上述评论中提到的选项适用于测试。如果您想要在代码中包含更强大的内容,那么我认为您要实现的是WCF Message Inspector

有关如何在客户端执行此操作的详细信息:

  

您可以检查或修改跨越的传入或传出消息   通过实现一个WCF客户端   System.ServiceModel.Dispatcher.IClientMessageInspector并插入   它进入客户端运行时。

https://msdn.microsoft.com/en-us/library/ms733786(v=vs.110).aspx

一个很好的例子:

https://weblogs.asp.net/paolopia/writing-a-wcf-message-inspector