public async void TickerThread(ExchangeData Data) { InProgress = true; using (ApiClient = new PoloniexClient(ApiKey, ApiSecret)) { ApiClient.OnError += (sender, error) => { Data.Status = EnumData.ExchangeStatus.異常; Data.ErrorMsg = error.Message; }; ApiClient.OnClose += (sender, e) => { Data.Status = EnumData.ExchangeStatus.停止; }; //USDT_BTC var SocketResult = ApiClient.SubscribeTicker(Data.ExchangeType, (data) => { Data.Ask = data.Data.Ask; Data.Bid = data.Data.Bid; Data.UpdateTime = DateTime.UtcNow; }); if (!SocketResult.Status) { throw new Exception(SocketResult.Message); } while (InProgress) { Thread.Sleep(500); } ApiClient.UnsubscribeFromStream(SocketResult.Data); } }