反序列化/解码CSLA.Net请求和响应

反序列化/解码CSLA.Net请求和响应,csla,Csla,使用CSLA.Net对应用程序和服务器之间的通信进行反序列化并以可读格式显示的最快方法是什么?如果您使用的是WCF,您应该能够在客户端的app.config文件中添加自定义端点行为 创建自定义消息检查器(此处的示例仅记录到输出窗口或跟踪): 现在只需更新app.config WCF配置,将CustomMessageInspectorBehavior添加为端点行为 你想完成什么? public class OutputMessageInspector : IClientMessageInspect

使用CSLA.Net对应用程序和服务器之间的通信进行反序列化并以可读格式显示的最快方法是什么?

如果您使用的是WCF,您应该能够在客户端的app.config文件中添加自定义端点行为

创建自定义消息检查器(此处的示例仅记录到输出窗口或跟踪):


现在只需更新app.config WCF配置,将
CustomMessageInspectorBehavior
添加为端点行为

你想完成什么?
public class OutputMessageInspector : IClientMessageInspector
{
    public object BeforeSendRequest(ref Message request, IClientChannel channel)
    {
        Debug.WriteLine("Request XML: ");
        Debug.WriteLine(request.ToString() ?? "<NULL>");
        return null;
    }

    public void AfterReceiveReply(ref Message reply, object correlationState)
    {
        Debug.WriteLine("Response XML: ");
        Debug.WriteLine(reply.ToString() ?? "<NULL>");
    }
}
public class CustomMessageInspectorBehavior : IEndpointBehavior
{
    public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
    {
        clientRuntime.MessageInspectors.Add(new OutputMessageInspector());
    }

    public void Validate(ServiceEndpoint endpoint) { }

    public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters) { }

    public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher) { }
}