繁体   English   中英

Nancy上的json-rpc服务器

[英]json-rpc server over nancy

我们已经开始在开源项目中使用nancy了。 https://github.com/CoiniumServ/coinium (一种stratum / getwork / gbt池服务器)。

我们基本上需要通过json-rpc支持api调用。 我们正在收到与此类似的请求;

        HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(Url);
        webRequest.Credentials = new NetworkCredential(User, Password);
        webRequest.ContentType = "application/json-rpc";
        webRequest.Method = "POST";

        string jsonParam = (paramString != null) ? "\"" + paramString + "\"" : "";
        string request = "{\"id\": 0, \"method\": \"" + method + "\", \"params\": [" + jsonParam + "]}";

        // serialize json for the request
        byte[] byteArray = Encoding.UTF8.GetBytes(request);
        webRequest.ContentLength = byteArray.Length;
        using (Stream dataStream = webRequest.GetRequestStream())
            dataStream.Write(byteArray, 0, byteArray.Length);

        string reply = "";
        using (WebResponse webResponse = webRequest.GetResponse())
        using (Stream str = webResponse.GetResponseStream())
        using (StreamReader reader = new StreamReader(str))
            reply = reader.ReadToEnd();

        return reply;

因此,基本上,请求是使用内容类型application / json-rpc发送到/ route的,我们需要解析内部提供的请求。

我检查了文档,但找不到出路,南希是否支持json-rpc?

有人可以指出我正确的方向吗?

我把一个样例路线定为:

        Post["/"] = @params =>
        {
            return "test";
        };

但在@params或Context中找不到实际要解析的json-rpc请求字符串。

尝试模型绑定( https://github.com/NancyFx/Nancy/wiki/Model-binding )或直接查看Request.Body。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM