static async Task DoWork(CommandLine commandLine) { OwnerConnectionString ownerConnectionString = OwnerConnectionString.Parse(commandLine.OwnerConnectionString); RegistryManager registryManager = RegistryManager.CreateFromConnectionString(commandLine.OwnerConnectionString); IEnumerable <string> deviceNames = await ListDevices(registryManager); await CreateDevice(registryManager, ownerConnectionString.HostName, GenerateUniqueName(deviceNames, commandLine.DeviceName)); await ListDevices(registryManager); }
public static OwnerConnectionString Parse(string connectionString) { OwnerConnectionString ownerConnectionString = new OwnerConnectionString(); string[] comps = connectionString.Split(';'); if (comps.Length != 3) { throw new Exception("Error: invalid owner connection string format!"); } foreach (string comp in comps) { int index = comp.IndexOf('='); if (index == -1) { throw new Exception("Error: invalid token in owner connection string!"); } string name = comp.Substring(0, index); string value = index + 1 < comp.Length ? comp.Substring(index + 1) : ""; if (name.Equals("HostName", StringComparison.OrdinalIgnoreCase)) { ownerConnectionString.HostName = value; } else if (name.Equals("SharedAccessKeyName", StringComparison.OrdinalIgnoreCase)) { ownerConnectionString.SharedAccessKeyName = value; } else if (name.Equals("SharedAccessKey", StringComparison.OrdinalIgnoreCase)) { ownerConnectionString.SharedAccessKey = value; } } return(ownerConnectionString); }