添加属性到IClientMessageInspector

本文关键字:IClientMessageInspector 属性 添加 | 更新日期: 2023-09-27 18:18:40

这是一个使用Service Reference接收SOAP信封的Visual Studio 2010 c#应用程序。该应用程序运行良好,并且已经在一个自动的过程中每晚运行了几个月,从服务中提取数据并将其写入数据库。因为它在夜间运行并且是自动化的,所以UI非常简洁。

我想在表单中添加一个文本框,这样我就可以在调试时看到响应。我偶尔会在日志中发现一些不合理的东西。MessageInspector类有一个AfterReceiveReply,它输出对控制台窗口的响应,这在开发期间是可以的,但我想让它也输出到UI。我创建了一个公共属性,但我似乎无法得到正确填充的响应。

public class MyMessageInspector : IClientMessageInspector
    {
    private string ThisResponse;
    public string GlobalResponse
    {
        get
        {
            return ThisResponse;
        }
        set
        {
            ThisResponse = value;
        }
    }
    public void AfterReceiveReply(ref System.ServiceModel.Channels.Message reply, object correlationState)
    {
        Console.WriteLine("SOAP Response: {0}", reply.ToString());
        ThisResponse = reply.ToString();
    }

在表格中,我调用下面的内容,GlobalResponse为null。

MyMessageInspector Output = new MyMessageInspector();
txtResponse.Text = Output.GlobalResponse;

添加属性到IClientMessageInspector

我错误地声明了属性。应该是

公共静态字符串GlobalResponse {

}

然后我像这样引用它…

txtResponse。Text = MyMessageInspector.GlobalResponse;

格雷格

相关文章:
  • 没有找到相关文章