【发布时间】:2015-04-09 12:20:14
【问题描述】:
根据规范,JSON-RPC 允许 3 种不同的消息,即请求、响应和通知,其中为每个请求提供响应。
那么是否可以在响应和请求之间实现通知?
--> data sent to service
<-- data coming from service
--> {"method": "startCalculation", "params": [2015], "id": 1} // asynchronous
<-- {"method": "updateProgress", "params": ["10"], "id": null} // 10% done
<-- {"method": "updateProgress", "params": ["50"], "id": null} // 50% done
<-- {"method": "updateProgress", "params": ["100"], "id": null} // 100% done
<-- {"result": 123456, "error": null, "id": 1} // result of startCalculation
如果可能的话,我可以使用哪些可用的模式或模型在 .Net 4.0 中实现这一点?
【问题讨论】:
-
根据规范,“通知是没有“id”成员的请求对象。作为通知的请求对象表示客户端对相应的响应对象缺乏兴趣,因此没有需要将响应对象返回给客户端。”所以在你的例子中,你的通知走错了路。似乎通知是从客户端到服务器的。