【问题标题】:passing Dictionary in WCF service [duplicate]在 WCF 服务中传递字典 [重复]
【发布时间】:2010-08-17 10:04:19
【问题描述】:

可能重复:
How to serialize Dictionary<string, string> through WCF?

如何在 WCf 中的方法中传递字典 ...
我正在这样做

public void SendData(Dictionary<string, string > data)
{
    foreach (KeyValuePair<string, string> item in data)
    {
        Console.WriteLine("{0} : {1}", item.Key, item.Value);
    }
}

当我以 192.X.X.X//Akhil/service.svc/SendData?data={}
访问它时 这里我应该在数据中传递什么/如何传递参数...请举个例子。

【问题讨论】:

    标签: wcf web-services


    【解决方案1】:

    生成您的代理(比如“TestProxy”)然后执行:

    TestProxy.YourServiceClient client = new TestProxy.YourServiceClient();
    
    Dictionary<string, string> testDict = new Dictionary<string, string>();
    
    testDict.Add("test", "test1");
    
    client.SendData(testDict);
    

    WCF 将毫无问题地序列化您的字典。这里的问题是您试图访问您的 WCF 服务,就好像您通过 HTTP Get 请求将其公开为 REST 服务一样。根据您的问题,我很确定,您不会将其公开为 REST 服务。如果您希望能够执行获取请求,请使用 google .Net WCF REST。

    *注意:您可能还想研究一下请求/响应 SOA 模式,它会省去很多麻烦。

    更新:

    这里有一些链接可能会为您指明正确的方向,您可能希望将 WCF 服务公开为 JSON 端点。

    JSON / REST Link

    在此LINK 中搜索字典以获取有关 WCF JSON 中的替代方案和陷阱的一些详细信息。

    希望这些帮助。我从来没有做过 Iphone 应用程序,所以我没有任何源代码可以给你。

    【讨论】:

    • 嗨 CKH 感谢您的帮助...我想从 Iphone 发送帖子数据。我必须发送一个包含 8 个 k-v 对的字典(K-V 对)。我必须在 WCF 中收到这本字典……请帮助我如何处理它。如果这是愚蠢的事情,我真的很抱歉......如果可能的话,请帮助我一些代码。
    • 不,一点也不傻。我已经用一些链接更新了我上面的帖子来帮助你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    相关资源
    最近更新 更多