【问题标题】:Why cant a web service return a dictionary?为什么 Web 服务不能返回字典?
【发布时间】:2012-12-12 22:03:17
【问题描述】:

我有一个 ASMX Web 服务,它返回一个字典,但每次发布时都会出错

type System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[BL.Customer, BL, Version=1.0.0.0, Culture =neutral, PublicKeyToken=null]] 不支持,因为它实现了 IDictionary

【问题讨论】:

  • 一个错误。介意与我们分享,还是我们应该猜测?在提出问题时,最好提供所有相关信息——包括代码、错误是什么以及它是如何触发的。
  • 对不起,它说,输入 System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[BL.Customer , BL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] 不受支持,因为它实现了 IDictionary
  • 仅供参考,ASMX Web 服务是一项遗留技术,不应用于新开发。

标签: html web-services asmx


【解决方案1】:

最好发布您实际收到的错误,但随着它的进展....... 默认情况下,Web 服务不支持 IDictionaries,因此最好序列化您正在解析的字典。 This 文章展示了如何序列化 IDictionary

【讨论】:

    【解决方案2】:

    即使您可以序列化字典,SOAP 也没有字典类型结构的表示。客户端不会知道服务正在发送字典。

    【讨论】:

      猜你喜欢
      • 2018-12-22
      • 2011-05-14
      • 1970-01-01
      • 2012-05-03
      • 2018-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多