WCF nettcp元数据包含无法解析的引用

时间:2016-08-17 15:50:47

标签: c# wcf nettcpbinding

这里很奇怪。我在类中有一个复杂的对象,这意味着一个类中的类被传递给nettcp WCF服务。当作为localhost运行时,一切运行良好。我可以通过VS发现服务,我可以绑定它,并调用方法并接收我的复杂对象没有问题。一旦我将服务移动到另一台机器,只有另一个方法调用返回简单对象(带有字符串,布尔等的类)。具有复杂类的方法不起作用。

太,一旦我把服务放在远程机器上,然后回到VS绑定到它,我得到“元数据包含一个无法解析的引用...”消息。我将所有配置复制到服务中。同样,除了复杂的类方法之外,所有其他方法都有效,并且它不会绑定到VS中的远程服务。

以下是不起作用的课程:

[DataContract]
public class SystemStatus
{
    private XmlDocument statusXml = null;
    private bool callSuccess = false;
    private SystemModule sysMod = null;

    [DataMember]
    public XmlDocument StatusXml
    {
        get { return statusXml; }
        set { statusXml = value; }
    }
    [DataMember]
    public bool CallSuccess
    {
        get { return callSuccess; }
        set { callSuccess = value; }
    }
    [DataMember]
    public SystemModule SysMode
    {
        get { return sysMod; }
        set { sysMod = value; }
    }
}

在上面的类中,破坏所有内容的属性是底部的“SystemModule”类。如果我删除它,该方法将在远程服务上工作,我可以绑定到远程服务。

这是SystemModule类:

[DataContract]
public class SystemModule
{
    private string sysName = "";
    private int sysId = 0;
    [DataMember]
    public string SysName
    {
        get { return sysName; }
        set { sysName = value; }
    }
    [DataMember]
    public int SysId
    {
        get { return sysId; }
        set { sysId = value; }
    }
}

这似乎是一个简单的修复,所有类都应该是可序列化的。不确定我错过了什么。

0 个答案:

没有答案