跟踪/检查WCF客户端消息

我使用BeforeSendRequest()从客户端(实现IClientMessageInspector )发送消息,并在AfterReceiveReply()处接收来自端点的答复。

我的问题是,相对于我发送的请求,“验证”我收到的回复的最有效方法是什么?

我找到了一些有关使用correlationstate的文章,但是这些例子太过庞大了。

非常感谢您的帮助。

wwsfc 回答:跟踪/检查WCF客户端消息

据我所知,我们可以使用Correlationstate参数来维护该值以表示相对性。 这就是BeofreSendRequest具有返回值的原因。

public void AfterReceiveReply(ref Message reply,object correlationState)
{
    Console.WriteLine(correlationState.ToString());
    string displayText = $"the client has received the reply:\n{reply}\n";
    Console.Write(displayText);
}

public object BeforeSendRequest(ref Message request,IClientChannel channel)
{
    var correlationstate = Guid.NewGuid().ToString();
    string displayText = $"the client send request message:\n{request}\n";
    Console.WriteLine(displayText);
    return correlationstate;
}

这里是相关的讨论,希望对您有用。
https://social.msdn.microsoft.com/Forums/vstudio/en-US/c8de85bf-9ffe-478e-a23c-2514a6504bce/iclientmessageinspector-maintain-id-value-between-the-beforesendrequest-and-afterreceivereply?forum=wcf
随时让我知道是否有什么可以帮助您的。

本文链接:https://www.f2er.com/3147940.html

大家都在问