private static void DownloadConfigFileAndSyncLocal(string blobSasUri) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(blobSasUri); request.Method = "GET"; XmlDocument document = new XmlDocument(); using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse()) { using (Stream s = resp.GetResponseStream()) { using (StreamReader reader = new StreamReader(s, Encoding.UTF8)) { document.LoadXml(reader.ReadToEnd()); } } } document.Save(configFleName_Temp); } catch { Console.WriteLine("there no config file on the Cloud."); } if (File.Exists(configFleName_Temp)) { OPCConfigurationManager config_temp = new OPCConfigurationManager(configFleName_Temp); OPCConfigurationManager config = new OPCConfigurationManager(configFleName); oPCDAServerUrl = config_temp.GetConfigurationValue("OPCDAServerUrl"); config.SetConfigurationValue("OPCDAServerUrl", oPCDAServerUrl); streamInterval = config_temp.GetConfigurationValue("StreamInterval"); config.SetConfigurationValue("StreamInterval", streamInterval); connectionTimeout = config_temp.GetConfigurationValue("ConnectionTimeout"); config.SetConfigurationValue("ConnectionTimeout", connectionTimeout); tags = ParseTags(config_temp.GetConfigurationValue("Tags")); config.SetConfigurationValue("Tags", config_temp.GetConfigurationValue("Tags")); string temp_deviceConnectionString = config_temp.GetConfigurationValue("IOTHubConnectionString"); if (temp_deviceConnectionString != deviceConnectionString && temp_deviceConnectionString != string.Empty) { config.SetConfigurationValue("IOTHubConnectionString", deviceConnectionString); Console.WriteLine("Please restart your APP for device connection string changed.\n"); Console.ReadLine(); } } else { ReadConfigFile(); } }
private static void ReadConfigFile() { // Parse tags based on delimiter if (File.Exists(configFleName)) { OPCConfigurationManager config = new OPCConfigurationManager(configFleName); deviceConnectionString = config.GetConfigurationValue("IOTHubConnectionString"); oPCDAServerUrl = config.GetConfigurationValue("OPCDAServerUrl"); streamInterval = config.GetConfigurationValue("StreamInterval"); connectionTimeout = config.GetConfigurationValue("ConnectionTimeout"); tags = ParseTags(config.GetConfigurationValue("Tags")); } }
private static void Main(string[] args) { // Read the latest config file available on the local server // Fixed by Bo - first time start this app there will no config file... with out connection with iot hub //ReadConfigFile(); if (File.Exists(configFleName)) { OPCConfigurationManager config = new OPCConfigurationManager(configFleName); deviceConnectionString = config.GetConfigurationValue("IOTHubConnectionString"); // When file is not present or device connection string is empty then ask user to enter this value if (deviceConnectionString.Trim() == string.Empty) { Console.WriteLine("Please in put Device Primary Connection String"); deviceConnectionString = Console.ReadLine(); } s_deviceClient = DeviceClient.CreateFromConnectionString(deviceConnectionString, Microsoft.Azure.Devices.Client.TransportType.Mqtt_WebSocket_Only); if (s_deviceClient == null) { Console.WriteLine("Connect to IoT Device Failed Please Try Again!"); Console.ReadLine(); return; } else { Console.WriteLine("Device Connected!"); config.SetConfigurationValue("IOTHubConnectionString", deviceConnectionString); //HostName=bdbiothub.azure-devices.cn;DeviceId=testbo123;SharedAccessKey=Sy8zfhPZ8/91B0aQrVzC9A2WETPK7oL87InkgZVB9b8= DeviceInitialize(s_deviceClient).GetAwaiter().GetResult(); } Console.OutputEncoding = Encoding.UTF8; Console.WriteLine("Sending OPCDA server data to iothub. Ctrl-C to exit.\n"); } else { Console.OutputEncoding = Encoding.UTF8; Console.WriteLine("Please make sure local config file Exist.\n"); } Console.ReadLine(); }