设置 ReferenceDataRequest 后,我将其发送到 EventQueue
Service refdata = _session.GetService("//blp/refdata");
Request request = refdata.CreateRequest("ReferenceDataRequest");
// append the appropriate symbol and field data to the request
EventQueue eventQueue = new EventQueue();
Guid guid = Guid.NewGuid();
CorrelationID id = new CorrelationID(guid);
_session.SendRequest(request, eventQueue, id);
long _eventWaitTimeout = 60000;
myEvent = eventQueue.NextEvent(_eventWaitTimeout);
通常我可以从队列中获取消息,但我现在遇到的情况是,如果我在应用程序的同一运行中发出多个请求(通常在第十次左右),我会看到一个TIMEOUT
EventType
if (myEvent.Type == Event.EventType.TIMEOUT)
throw new Exception("Timed Out - need to rethink this strategy");
else
msg = myEvent.GetMessages().First();
这些是在同一个线程上制作的,但我假设沿着这条线的某个地方我正在消费而不是释放。
有人有任何线索或建议吗?
关于 SO 对 BLP 的 API 的引用并不多,但希望我们可以开始纠正这种情况。