【问题标题】:WCF service has a return type, but clients sees anotherWCF 服务有一个返回类型,但客户端看到另一个
【发布时间】:2017-03-15 02:30:01
【问题描述】:

mi wcf 服务有一个名为 Richiedicarta 的函数,它返回一个列表,但是当我在我的客户端中实现它时,它说它不能隐式转换类型 system.collections.generics.List 中的类型字符串。 这是WCF函数代码

public List<string> richiedicarta(int utilcode)
    {
        List<string> card = new List<string>();
        Random rand = new Random();
        switch (utilcode)
        {
            case 0:
                for (int i = 0; i < 4; i++)
                {
                    int indice = rand.Next(0, max-1);
                    card.Add(carta[indice]);
                    carta.Remove(carta[indice]);
                    max--;
                    return card;
                }
                break; //prima mano
            case 1: briscola = carta[rand.Next(0, max-1)]; card.Add(briscola); max--; break; //briscola
            case 2: if (carta.Count == 0) { card.Add(briscola); } else { card.Add(carta[rand.Next(0, max-1)]); } max--; break; //nuova mano
        }
        return card;
    }

这是客户端功能代码

static List<String> ricevicarte(int param)
    {

        List<string> carte = cl.richiedicarta(param); // here it gives that error

        List<String> cards = null;
        for(int i=0; i<3; i++)
        {
            if(carte[i]==" ")
            {
                carte[i] = null;
            }
            else
            {
                cards.Add(carte[i]);
            }
        }
        return cards;
    }

cl 是我的 ServiceClient 实例

【问题讨论】:

  • 错误是什么?
  • 客户端的 WCF 代理合约是什么样的?看起来是合同不匹配。
  • 无法隐式转换类型 system.collections.generics.List 中的类型字符串。抱歉,我的问题写得不好

标签: c# wcf return


【解决方案1】:

更新您的 service reference。确保取消选中在引用的程序集中重用类型复选框并将新服务的地址放在地址文本框中。

【讨论】:

  • 我做到了,它已经工作了,但现在返回类型是“BriscolaService.richiedicartaResponse”,它不会接受我的参数,因为“不可能将 int 转换为 briscolaWCFdef_Client.BriscolaService.richiedicartaRequest”
  • 你需要创建一个该类型的对象并分配属性然后通过
  • 我发现我检查了“总是生成消息合同”,没有它它不需要那种对象,但是我的 WCF 函数的返回值已经从字符串变为字符串 [],问题仍然存在遗骸
  • 问题里写的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多