dp2library API GetMessage() - DigitalPlatform/dp2 GitHub Wiki
GetMessage() API 主要是用于获得当前用户的 dpmail 邮箱消息。后来也扩充了从 MSMQ 中获取应用消息的功能
public LibraryServerResult GetMessage(
string[] message_ids,
MessageLevel messagelevel,
out List<MessageData> messages)
从 MSMQ 中获取(删除)应用消息
当 message_ids 中包含两个元素,其中第一个元素为 "!msmq" 时,用途为获取 MSMQ 中的应用消息。其中 message_ids[1] 给出了获取指令。
获取指令举例如下:
action=get,count=10
action=remove,count=10
第一个例子指令表示希望从开始位置获取最多 10 条消息;第二个例子表示希望从开始位置移除最多 10 条消息。
如果当前并不存在未获取的消息,那么本次 API 调用会等待最多一分钟。如果一分钟以后还没有新消息,API 会返回。前端此时可考虑重新请求获取。这样就实现了一种长连接轮询的效果。