C# WCF服务自定义消息检查器

C# WCF服务自定义消息检查器,c#,wcf,xmlhttprequest,C#,Wcf,Xmlhttprequest,我构建了一个使用自定义用户名和密码身份验证的WCF服务,并使用以下代码从客户端应用程序对其进行测试: using (ServiceReferenceClient.TestServiceClient tc = new ServiceReferenceClient.TestServiceClient()) { tc.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509Certi

我构建了一个使用自定义用户名和密码身份验证的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请求和响应。我怎样才能从我的客户那里做到这一点


我知道我可能必须编写自己的自定义消息检查器,并希望获得一些关于如何构建一个检查器的提示。上面评论中提到的选项非常适合测试。如果您希望在代码中包含更健壮的内容,那么我认为您想要实现的是一个

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

您可以检查或修改跨应用程序的传入或传出消息 通过实现 System.ServiceModel.Dispatcher.IClientMessageInspector和插入 将其导入客户端运行时

这是一个很好的例子:


您可以使用类似的web调试代理。最佳做法是不要对WCF客户端使用
:您也可以使用SOAPUI,甚至还可以使用WCFTestClient(您可以在WCFTestClient中看到发送和接收的XML)。我不能使用fiddler-在我的情况下,它只是不能处理上面的代码。Fiddler只是没有显示任何更易于使用WCFTestClient或SOAPUI或Fiddler进行测试的内容,IMO.SOAPUI和WCF测试客户端只适合进行测试-同意。Messasge Inspector选项可能有助于非开发环境中的故障排除。我想拥有所有的选择权。