【问题标题】:Why WCF Serialization为什么要进行 WCF 序列化
【发布时间】:2014-07-04 04:37:55
【问题描述】:

我很难理解一个问题的答案。

  • .net 标准类型首先转换为标准消息。这我们称为序列化,将由 WCF 序列化程序之一完成。

  • 那些标准消息被转换为字节流。它称为编码并由编码器完成,由我们选择的绑定决定哪个编码器将执行此操作。

我的问题是为什么这种序列化保留在两者之间,Why.net 对象直接由 WCF 运行时引擎转换为字节流并传输。

【问题讨论】:

  • @marc_s 至少将其发布为答案,以便 OP 可以在回答他们的问题时将其标记为...这不仅仅是评论。

标签: wcf serialization encoding


【解决方案1】:

在 WCF 中连接客户端和服务器的唯一方法是 contract 和序列化的 XML 格式,用于在双方之间交换消息。

WCF 是一种可互操作的消息传递服务——它不能依赖对方的任何东西。 WCF 不是“.NET 对象远程处理”系统或类似的东西。 WCF 不能依赖通信的另一端是 .NET 应用程序,因此它不能只交换 .NET 对象。

WCF 可以与任何事物(Ruby、Java)对话并提供数据服务。最小的共同点是序列化的 XML 消息。因此,WCF 会将您的消息序列化为 XML 格式(文本或二进制)并通过网络发送它们。

【讨论】:

  • 嗨,马克,在 WCF 服务端首先执行序列化并将 .net 对象转换为消息,然后这些消息仅在服务端转换为字节序列。我的问题是,如果最后另一方要获得字节序列,为什么会发生这种序列化。
  • 正如我试图解释的那样:由于 WCF 服务只能依赖于 XML 序列化消息,它必须将任何 .NET 类型转换为可互操作的 XML 消息,任何客户端 - .NET 或其他 - 然后可以读取和解释。否则,您将如何让 Ruby 客户端理解您的 .NET 数据对象?
猜你喜欢
  • 2014-03-31
  • 2011-03-05
  • 2012-06-12
  • 1970-01-01
  • 2010-12-08
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多