添加要监视的属性时功能评估超时

时间:2017-08-14 12:05:35

标签: c# wcf

这里有一些上下文:我有两个应用程序(客户端和服务器),它们使用包含服务契约的共享DLL和自己的服务代理通过WCF进行通信。服务合同包含属性TreeFront

服务合同

[ServiceContract(CallbackContract = typeof(IOwnCallbackContract))]
public interface IOwnServiceContract
{

    bool TreeFront
    {
        [OperationContract]
        get;
        [OperationContract]
        set;
    }

    [OperationContract]
    void DisplayString(string s);

    [OperationContract]
    void Subscribe();

    [OperationContract]
    void Unsubscribe();
}

服务代理

public class OwnServiceProxy : DuplexClientBase<IOwnServiceContract>, IOwnServiceContract
{

    public OwnServiceProxy(object context) : base(context) { }

    public OwnServiceProxy(string configurationName) : base(configurationName){ }

    public bool TreeFront
    {
        get
        {
            return base.Channel.TreeFront;
        }

        set
        {
            base.Channel.TreeFront = value;
        }
    }

    public void DisplayString(string s)
    {
        base.Channel.DisplayString(s);
        bool b = TreeFront;
    }

    public void Subscribe()
    {
        base.Channel.Subscribe();
    }

    public void Unsubscribe()
    {
        base.Channel.Unsubscribe();
    }
}

最近,当我调试服务代理时出现了问题。我在监视中添加了TreeFront,并在方法DisplayString()的开头添加了一个断点。输入断点时,我收到消息&#34;功能评估超时。&#34; see screenshot。 当我刷新值时,我得到消息&#34;在此上下文中不支持获取透明代理的运行时类型。&#34; 。我到处寻找解决方案,但没有任何效果。我试过了

  • 禁用/启用属性评估和其他隐式函数调用
  • 启用使用旧版c#和vb表达式评估程序

这些选项都没有奏效。我知道我可以使用一个临时变量并将其添加到手表中,但有没有办法解决这个问题?这可能不是最好的做法,但在我的情况下,我需要能够直接检查财产的价值。

0 个答案:

没有答案