public QotGetOrderBook.Response GetOrderBookSync(QotCommon.Security sec, int num) { ReqInfo reqInfo = null; Object syncEvent = new Object(); lock (syncEvent) { lock (qotLock) { if (qotConnStatus != ConnStatus.READY) { return(null); } QotGetOrderBook.C2S c2s = QotGetOrderBook.C2S.CreateBuilder() .SetSecurity(sec) .SetNum(num) .Build(); QotGetOrderBook.Request req = QotGetOrderBook.Request.CreateBuilder().SetC2S(c2s).Build(); uint sn = qot.GetOrderBook(req); if (sn == 0) { return(null); } reqInfo = new ReqInfo(ProtoID.QotGetOrderBook, syncEvent); qotReqInfoMap.Add(sn, reqInfo); } Monitor.Wait(syncEvent); return((QotGetOrderBook.Response)reqInfo.Rsp); } }