这里有一些上下文:我有两个应用程序(客户端和服务器),它们使用包含服务契约的共享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; 。我到处寻找解决方案,但没有任何效果。我试过了
这些选项都没有奏效。我知道我可以使用一个临时变量并将其添加到手表中,但有没有办法解决这个问题?这可能不是最好的做法,但在我的情况下,我需要能够直接检查财产的价值。