我正在听Reliable Services Notifications
做一些背景工作。期望是:每当添加新的IReliableConcurrentQueue
时,它都应该启动一个poller/dequeuer
线程来处理队列中存在的项目。
为此,我听了NotifyStateManagerChangedAction.Add
事件,并在事件处理程序中创建了一个轮询线程,该线程将在新添加的队列上开始出队。
NotifyStateManagerChangedAction.Add
)的理解是,每当将新的IReliableState
(在我的情况下,其IReliableConcurrentQueue
)添加到StateManager
时,此事件就会触发。而且,只要有新项目排队到已经存在的IReliableConcurrentQueue
中,就不会触发此事件。正确吗?NotifyStateManagerChangedAction.Add
。理想情况下,不应该这样。为什么会触发?State Manager is currently not readable
获取队列时,它将引发“ StateManager
”异常。是因为事件是在StateManager
上触发的,并且事件处理程序(轮询线程)正在尝试访问事件在其上触发的StateManager
?是僵局吗?参考:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-notifications