【发布时间】:2012-10-15 13:41:26
【问题描述】:
我创建了一个 WCF 服务。在我的数据合同中,我有两个属性可以说:
[DataMember]
Private User objUser;
和
[DataMember]
Private tempClass ObjTemp;
我对这两个属性都有 get 和 set 属性。在我的实现类中,我有一个 datacontract 类的对象......可以说。 objData.
当我分配时
objData.ObjTemp=(function which return objTemp);
服务工作正常。但是,当我分配时。
objData.objUser=(function which return objUser)
它会抛出以下错误:
底层连接已关闭:连接已关闭 没想到。
当我评论时
objData.objUser=(function which return objUser)
它又可以正常工作了。
当我检查我的 User 类中的代码时,我发现一个属性会产生问题。当我更改该属性时,它也可以正常工作;但我不知道为什么该属性会产生问题。
属性是这样的:
public IPAddress IP { get; set; }
现在这个 IPAdress 类包含一个构造函数,并为 ip 变量获取和设置。在 get 中,它只是简单地返回 ip 变量。
在 set 它检查一些条件,然后将值分配给 ip 变量。如果条件失败,则抛出异常。谁能解释一下可能是什么问题?
我刚刚检查了另一件事。
如果我从private User objUser; 中删除[DataMember] 属性,它可以正常工作;但是如果我把[DataMember] 放回去,它会产生同样的错误。
有什么建议吗?
【问题讨论】:
标签: c# visual-studio-2010 wcf