【问题标题】:how to use keyvaluepairofstringdouble returned from c# webservice如何使用从c#webservice返回的keyvaluepairofstringdouble
【发布时间】:2015-08-18 09:14:19
【问题描述】:

我有一个返回 a 的 web 服务方法

List<KeyValuePair<string,double>>

但是,当我在服务引用中使用该方法时,它返回的对象是

List<KeyValuePairOfStringDouble>

我不知道如何使用它。

【问题讨论】:

  • 你的意思是你想不通?有什么问题?
  • 如何使用它?例如,我想使用从服务返回的数据更新图表。但是 chart.add 方法需要一个 KeyValuePair 它不会采用 KeyValuePairOfStringDouble。
  • 你是否创建了一个名为KeyValuePairOfStringDouble的类型?
  • 它是你的网络服务吗?您是否能够简单地交付合同程序集,这样您就不必依赖 WSDL 来获得 100% 想要的东西?
  • 是的,这是我的服务,合同组装不是我以前遇到过的。

标签: c# web-services service-reference keyvaluepair


【解决方案1】:

您的服务参考试图充分利用它所获得的 WSDL。但是您的服务和您的应用程序一直在互相玩游戏。他们从未被允许直接交谈。所以你现在被一些看起来像你需要的东西和被称为你需要的东西所困扰,但它并不完全是你所需要的。

简单的解决方案是构建一个您在语法上需要的新列表:

List<KeyValuePair<string,double>> yourlist = serviceResult.Select(kvp => new KeyValuePair<string, double>(kvp.Item1, kvp.Item2)).ToList();

为了将来更好的解决方案,您应该让服务通信的两端都知道另一端在语法上的用途。这称为合同组装。

This StackOverflow 上的线程及其包含的链接可能是一个好的开始,如果您想为您的服务构建一个。

【讨论】:

    猜你喜欢
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    相关资源
    最近更新 更多