protected void Checkin() { logger.LogInfo("Checking in with server"); var agentInfo = AgentInfo.GetAgentInfo(); cloudHealthAPI.Checkin(agentInfo, (response, agentStatus) => { logger.LogInfo("Checkin response: {0}", response.StatusCode); if (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.Created) { logger.LogInfo("Agent Status: {0}", agentStatus); agentConfig.UpdateConfiguration(agentStatus); var newVersion = agentStatus.WindowsVersion.GetValueOrDefault(agentInfo.Version); logger.LogInfo("Local Version: {0}, Remote Version: {1}", agentInfo.Version, newVersion); if (agentInfo.Version >= newVersion) { return; } if (agentConfig.AutoUpdate) { DownloadUpdate(newVersion); } else { logger.LogInfo("Skipping update because AutoUpdate is disabled"); } } else { string message = response.Content.Length > 0 ? response.Content : response.ErrorMessage; logger.LogError("Checkin failed with status code: {0} - {1}", response.StatusCode, message); } }); }