【问题标题】:Why consuming WCF web service from ASP.NET 1.1 needs XmlSerializerFormat attribute in the ServiceContract为什么从 ASP.NET 1.1 使用 WCF Web 服务需要 ServiceContract 中的 XmlSerializerFormat 属性
【发布时间】:2012-10-18 11:18:02
【问题描述】:

我正在使用来自 APS.NET 1.1 的 WCF Web 服务,并且我阅读了我们需要的任何地方

1:将XmlSerializerFormat属性添加到我们要消费的ServiceContract中。

2 : 使用 basicHttpBinding 作为 Endpoint 设置。

为什么会这样?

-> 是否可以在配置文件中设置 POINT 1 条件?

-> 当basicHttpBinding 的默认是XML 序列化时。为什么我们需要将服务契约显式声明为 XmlSerializerFormat ?

【问题讨论】:

  • 您无法更改单个绑定的序列化程序,但您可以通过在服务合同上添加 XMLSerializerAttribute 来指定特定服务可以使用 DataContract 或 Xmlserializer。

标签: asp.net .net wcf web-services endpoint


【解决方案1】:

开箱即用,我不认为 WCF 提供了覆盖默认序列化程序(即 DataContractSerializer)的方法。但是,您可以创建自定义服务\操作行为,为自定义操作行为定义配置元素并使用它来覆盖序列化程序。

BasicHttpBinding 的默认序列化程序是 DataContractSerializer,而不是 XmlSerializer。两种序列化程序的工作方式不同(尽管产生 xml 输出)。您可以检查这两个序列化程序的行为之间的差异。

【讨论】:

  • 那么如何将BasicHttpBinding的序列化器设为XMLSerializer呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多