c# – xsd.exe – 架构到类 – 用于WCF
我已经创建了一个模式,作为我们公司和外部公司之间商定的接口.我现在正在创建一个WCF C#Web服务来处理该接口.
我运行了XSD实用程序,它创建了一个C#类.模式是在BizTalk中构建的,并引用其他模式,因此总共生成了超过15个类. 我将[DataContract}属性放在每个类的前面. 我们曾经在使用.asmx服务时使用这种技术,但不确定它是否与WCF一样.如果我们更改架构,我们会想要重新生成WCF类,然后我们每次都要使用所有[DataMember]属性重新调整它?是否有一个类似于XSD.exe的新工具可以更好地与WCF一起使用? 谢谢, 尼尔沃尔特斯 解决方案(埋在桑德斯之一回答/评论): 将XmlSerializerFormat添加到Interface定义: [OperationContract] [XmlSerializerFormat] // ADD THIS LINE Transaction SubmitTransaction(Transaction transactionIn); 两个笔记: 解决方法
使用[DataContract]的类将序列化为非常有限的模式.例如,没有属性,只有元素.这是有意的,并且是为了性能和互操作性而完成的.
通常,您可能正在使用的那种模式可能要复杂得多.此类架构不适用于Data Contract Serializer.您将需要使用XML Serializer. 特别是,不要编辑由XSD.EXE创建的类.实际上,您永远不应该编辑生成的代码,因为只要再次生成代码,您的编辑就会被删除.这些类应该已经拥有WCF使用它们所需的属性. 如果您按原样使用它们会发生什么? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |