Установив 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 мало ссылок на API BLP, но, надеюсь, мы сможем исправить эту ситуацию.