【发布时间】:2010-08-20 15:57:43
【问题描述】:
在客户端,我有这个类没有[DataContract]:
public class UserEntity
{
public string login;
public string password;
}
当我在 WCF 端输入[DataContract] 并刷新该类的引用时,我无法启动 Web 服务。它说一个错误:
无法创建元数据...
怎么了?
【问题讨论】:
-
您是否也将 [DataMember] 添加到您的公共字段?要么关闭所有属性,然后 DataContractSerializer 的行为很像旧的 XmlSerializer - 或者如果你开始添加属性,你必须将它们全部添加 - 你不能只是混合和匹配并添加一些属性....
-
具有
DataContract属性的类将在 WCF 服务中定义。引用服务后,您可以实例化您的类并来回传递它。 -
此实体在客户端的 WCF 类库中,没有编译器错误。我只是将 [DataContract] 放在“公共类 UserEntity”之上 有什么问题吗?我是否也必须将 [DataMember] 放在属性旁边?谢谢。
-
我尝试输入 [DataMember] 但没有成功...“无法获取元数据...”
-
@Alan:您需要对您的 服务 进行更新,然后更新您的客户端 - 客户端的更新并不能真正被识别,并且可能导致客户端和服务器不同步。
标签: c# wcf datacontract