Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模式优先WCF开发_Wcf_Xsd_Wsdl - Fatal编程技术网

模式优先WCF开发

模式优先WCF开发,wcf,xsd,wsdl,Wcf,Xsd,Wsdl,众所周知,如何创建“合同优先”WCF服务,其中第一步是定义ServiceContracts和DataContracts 如果一个人拥有“模式优先”,那么他应该如何进行WCF开发。换句话说,已经独立开发了XSD模式。服务不能偏离已定义的模式。复杂的是,模式可能会使用无法转换为DataContract的特性(毕竟DataContract的功能非常小) 在服务器端或客户端为整个文档使用XDocument。(使用XDocument比任何涉及XmlSerializer的东西都更受欢迎,不幸的是,如果不更换

众所周知,如何创建“合同优先”WCF服务,其中第一步是定义
ServiceContract
s和
DataContract
s

如果一个人拥有“模式优先”,那么他应该如何进行WCF开发。换句话说,已经独立开发了XSD模式。服务不能偏离已定义的模式。复杂的是,模式可能会使用无法转换为
DataContract
的特性(毕竟
DataContract
的功能非常小)

在服务器端或客户端为整个文档使用
XDocument
。(使用
XDocument
比任何涉及
XmlSerializer
的东西都更受欢迎,不幸的是,如果不更换,它似乎已经不受欢迎了)。要求元数据/WSDL根据标准正确报告实际模式。它可能不会报告诸如xsd:any之类的“通用”模式。(弄清楚如何处理这些WSDL需求是给我带来最大麻烦的部分。)


(此处类似的问题/答案不涉及
XDocument
或WSDL要求。)

如果您已经拥有XSD,那么这些问题/答案与WCF接口之间唯一缺少的链接就是WSDL。一旦有了WSDL,就可以使用svcutil.exe生成带有所需属性的WCF接口和类


你可以用硬方法来做,用手工写WSDL,但是你也要考虑这个工具。

谢谢,但是这使用Stask.xML.序列化,我更不想使用它。XmlSerializer似乎是WCF互操作性的一个重要组成部分,但MS似乎对进一步增强它不感兴趣(我在这里寻找的是一种使用XDocument的方法,并且仍然可以获得我期望从服务返回的WSDL元数据。实际上,WCF默认情况下将使用DataContractSerializer,这与XmlSerializer完全不同。它通常经过优化,速度更快,使用特定的“选择加入”(而不是选择退出)模型,但有其他限制(例如,不支持序列化XML中的属性)。如果您的架构与DataContract序列化程序不兼容,我会说,您将遇到麻烦。您在架构中使用的哪些功能不受DataContract序列化程序支持?许多.XML属性就是其中之一。例如。