private void sendToEventHub(CO2 CO2) { SubscribeData subscribeData = SampleCO2.Create(CO2.DeviceInformation.ExternalAssetId, CO2.CurrentCO2); var subscribeDataJsonString = JsonConvert.SerializeObject(subscribeData); eventHubService.SendAsync(subscribeDataJsonString).Wait(); }
private void sendToEventHub(Area area) { SubscribeData subscribeData = SampleAsset.Create(area.DeviceInformation.ExternalAssetId, area.Status); var subscribeDataJsonString = JsonConvert.SerializeObject(subscribeData); eventHubService.SendAsync(subscribeDataJsonString).Wait(); }
private void sendToEventHub(Temperature temperature) { SubscribeData subscribeData = SampleTemp.Create(temperature.DeviceInformation.ExternalAssetId, temperature.CurrentTemperature); var subscribeDataJsonString = JsonConvert.SerializeObject(subscribeData); eventHubService.SendAsync(subscribeDataJsonString).Wait(); }
private bool m_IsEnableTestException;// = true; async Task RequestWaitAsync(SubscribeData subscribe, CancellationToken cancellationToken) { logger.Info($"RequestWaitAsync Start"); try { await foreach (var req in subscribe.RequestStream.ReadAllAsync(cancellationToken)) { if (cancellationToken.IsCancellationRequested) { break; } logger.Info($"Case {req.ActionCase}"); switch (req.ActionCase) { case UserSessionToServiceRequest.ActionOneofCase.None: break; case UserSessionToServiceRequest.ActionOneofCase.RegisterUserSession: { var val = req.RegisterUserSession; logger.Info($"RegisterUserSession Call, {val.SessionId}"); m_UserSessions.TryAdd(val.SessionId, subscribe); ResponseTimer = new Timer(_ => subscribe.ResponseStream.WriteAsync( new ServiceToUserSessionResponse { SendDataRequest = new SendDataRequestParam() { Data = @"datastr" } }), null, new TimeSpan(0, 0, 1), new TimeSpan(0, 0, 5)); } break; case UserSessionToServiceRequest.ActionOneofCase.GetDataRequest: { var val = req.GetDataRequest; logger.Info($"GetDataRequest Call, {val.Number}"); m_CountForTestException++; if (m_IsEnableTestException && 2 < m_CountForTestException) { throw new Exception("over"); } await subscribe.ResponseStream.WriteAsync( new ServiceToUserSessionResponse { GetDataResponse = new GetDataResponseParam { Data = "ResData" } }); } break; case UserSessionToServiceRequest.ActionOneofCase.SendDataResponse: { var val = req.SendDataResponse; logger.Info($"SendDataResponse Call, {val.Result}"); } break; default: throw new ArgumentOutOfRangeException(); } } } finally { ResponseTimer?.Dispose(); } }