【问题标题】:Implement JSON-RPC in WCF在 WCF 中实现 JSON-RPC
【发布时间】:2013-07-31 07:17:47
【问题描述】:

我一直在四处寻找,但没有找到解决方案。我想用 WCF 实现一个 JSON-RPC 服务器。我找到了这个http://jsonrpc2.codeplex.com/,但它不使用 WCF,我知道如何集成它。有人可以告诉我如何将所有内容放在一起吗?

谢谢

编辑:我已经发布了我的源代码 here

服务器端的一个非常基本的实现现在正在工作,至少使用 HTTP GET 请求。我现在正在尝试为它实现一个 WCF 客户端,但我再次陷入困境:(我将在上面发布一个单独的问题。

【问题讨论】:

    标签: c# wcf c#-4.0 json.net json-rpc


    【解决方案1】:

    我已经写了一些博客,它们确切地展示了如何做到这一点 - 请参阅http://blogs.msdn.com/b/carlosfigueira/archive/2011/12/08/wcf-extensibility-transport-channels-request-channels-part-1.aspx 上的第一个(其中有指向其他人的链接)。

    基本上,您需要创建一个能够理解协议的传输通道。在该传输中,您需要将输入/输出转换为 WCF Message 对象(WCF 堆栈的基本块)。而且您需要将消息传递到堆栈的其余部分。您还需要编写一个操作选择器来将传入的 RPC 消息映射到将被调用的服务中的操作。

    另一种选择是在 HTTP 之上编写 JSON-RPC;在这种情况下,您应该使用一组消息格式化程序(分解参数)、操作选择器和可能的消息检查器来代替传输通道,以用于请求/回复关联。

    【讨论】:

    • 感谢您的回答 Carlos.. 我想这对我来说不是那么微不足道的任务。只是关于你的文章的一个小问题。我看到它主要涵盖客户端,在第 3 部分的末尾有一个“让我们转到服务器端”,但我真的不明白从哪里开始。第 3 部分所附的源代码可以作为一个好的起点吗?提前致谢,
    • 您好 carlos,我已经开始在 HTTP 堆栈之上开发自己的操作选择器。我已使用端点行为将其应用于我的服务。现在我想开始调试我的 SelectOperation 方法是一个步骤。我试图从这样的网络浏览器调用该方法:192.168.15.117/jsonrpc?request={"jsonrpc": "2.0", "id": 1, "method": "Playlist.GetPlaylists"} 但该方法没有得到叫..
    • 嗨卡洛斯,我正在尝试完成客户端部分,你能帮我解决这个问题吗?提前致谢。 stackoverflow.com/questions/18408272/…
    猜你喜欢
    • 1970-01-01
    • 2011-02-07
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-25
    • 2014-08-14
    • 2013-09-12
    相关资源
    最近更新 更多