在什么情况下,svcutil.exe决定在生成的代理代码中应用XmlSerializerFormatAttribute
本文关键字:代理 代码 XmlSerializerFormatAttribute 应用 情况下 svcutil exe 决定 在什么 | 更新日期: 2023-09-27 17:53:07
在什么情况下svcutil.exe决定在生成的代理代码中应用XmlSerializerFormatAttribute
?我找不到任何关于这个的文档,所以我很感激你能链接一些来源。
只要web服务的模式与DataContractSerializer不兼容,就选择XmlSerializer(并应用XmlSerializerFormatAttribute)。正如用户"Aphelion"在他们的回答中指出的,这种情况可能发生在使用一些遗留的ASMX web服务时。然而,在与non-进行互操作时也经常看到这种情况。. NET服务(例如,基于java的)。这里的权威文档实际上是http://msdn.microsoft.com/en-us/library/ms733112.aspx,它确切地告诉您模式中支持什么,不支持什么。
XmlSerializerFormat
用于支持向后兼容ASMX (Classic web services)。
默认情况下,代理将使用DataContractSerializer
。如果WSDL文档中的模式元素使用DataContractSerializer
无法处理的XSD模式特性,它将选择XmlSerializer
。
我可以推荐Michele Leroux Bustamante的"Learning WCF",这里有一些深入的例子。