【发布时间】:2017-10-06 16:29:07
【问题描述】:
我想创建一个流,而不是使用 messageEventHandler 委托,我希望将消息在内部排队并使用 ReceiveMsg(Int32) 调用它们。
但是,当我将 null 传递给 messageEventHandler 的 CreateFlow 方法时,我收到了 attached error。
总而言之,我希望能够在特定时间而不是在委托被触发时获得消息。
【问题讨论】:
我想创建一个流,而不是使用 messageEventHandler 委托,我希望将消息在内部排队并使用 ReceiveMsg(Int32) 调用它们。
但是,当我将 null 传递给 messageEventHandler 的 CreateFlow 方法时,我收到了 attached error。
总而言之,我希望能够在特定时间而不是在委托被触发时获得消息。
【问题讨论】:
您必须指定messageEventHandler 委托。 Solace .NET API 只为接收到的消息提供异步回调。
作为替代方案,您可以让应用程序将接收到的消息临时存储在内部缓冲区中,并且仅在准备好时读取和确认它们。
FlowProperties.MaxUnackedMessages 和 FlowProperties.WindowSize 也应设置为较小的值(例如 1),以防止缓冲区溢出。
【讨论】: