如标题所示,在什么情况下 svcutil.exe 决定应用于XmlSerializerFormatAttribute
生成的代理代码?我找不到任何有关此的文档,因此我将不胜感激链接一些来源。
问问题
920 次
2 回答
3
只要 Web 服务的架构与 DataContractSerializer 不兼容,就会选择 XmlSerializer(并应用 XmlSerializerFormatAttribute)。正如用户“Aphelion”在他们的回答中指出的那样,可能发生这种情况的一种情况是使用一些遗留的 ASMX Web 服务。但是,在与非 .NET 服务(例如,基于 Java)进行互操作时,这种情况也很常见。此处的最终文档实际上是http://msdn.microsoft.com/en-us/library/ms733112.aspx,它准确地告诉您架构中支持和不支持的内容。
于 2013-01-14T14:16:27.727 回答
2
XmlSerializerFormat
用于支持与 ASMX(经典 Web 服务)的向后兼容性。
默认情况下,代理将使用DataContractSerializer
. 如果 WSDL 文档中的模式元素使用DataContractSerializer
无法处理的 XSD 模式特性,它将选择XmlSerializer
.
我可以推荐 Michele Leroux Bustamante 的“ Learning WCF ”以获得一些深入的示例。
于 2013-01-14T11:43:15.290 回答