public Worker(ILogger <Worker> logger, EventDispatcher dispatcher, IOptions <AzureServiceBusConfig> configuration) { _logger = logger; _dispatcher = dispatcher; _configuration = configuration.Value; }
private static void CriticalNotificationMonitor( AzureServiceBusConfig serviceBusConfig, string iotHubConnectionString, string deviceId, CancellationToken token) { var client = QueueClient.CreateFromConnectionString(serviceBusConfig.ConnectionString, serviceBusConfig.QueueName); var serviceClient = ServiceClient.CreateFromConnectionString(iotHubConnectionString); client.OnMessage(async message => { var status = (Status)Enum.Parse( typeof(Status), (string)message.Properties[MessageProperty.Status.ToString("G")]); switch (status) { case Status.Pending: // Send message to accept state change. Console.WriteLine(); var m = new CloudToDeviceMethod(DeviceMethods.AcceptDesiredProperties.ToString("G"), TimeSpan.FromSeconds(30)); var result = await serviceClient.InvokeDeviceMethodAsync(deviceId, m, token); $"Device responded with result code: {result.Status} and message: {result.GetPayloadAsJson()}" .LogMessage(ConsoleColor.Green); break; case Status.Rejected: var body = new StreamReader(message.GetBody <Stream>()).ReadToEnd(); $"Setting value was rejected by the device: '{deviceId}' with message: '{body}'. Please enter a new legal value: " .LogMessage(ConsoleColor.Red); break; case Status.Accepted: case Status.PreconditionFailed: default: throw new ArgumentException(); } }); }
public MessageSender(IOptions <AzureServiceBusConfig> config) { _config = config.Value; }
public AzureServiceBusSender(IOptions <AzureServiceBusConfig> options) { _serviceBusConfig = options.Value; }
public AzureServiceBusConnectionManager(AzureServiceBusConfig config) { _config = config; }