public override async Task <RegeneratedSecret> Rekey(TimeSpan requestedValidPeriod) { Logger.LogInformation("Regenerating Service Bus key {0}", PolicyKey); IAuthorizationKeys newKeys = await Regenerate(PolicyKey); Logger.LogInformation("Successfully rekeyed Service Bus key {0}", PolicyKey); return(new RegeneratedSecret() { Expiry = DateTimeOffset.UtcNow + requestedValidPeriod, UserHint = Configuration.UserHint, NewSecretValue = GetKeyValue(PolicyKey, newKeys), NewConnectionString = GetConnectionStringValue(PolicyKey, newKeys) }); }
/// <summary> /// Send Message to Azure Queue /// </summary> /// <param name="serviceBusName">Service Bus Connection string</param> /// <param name="queue">queue name</param> /// <param name="message">Brokered Message</param> public async void SendMessage(string serviceBusName, string queue, Message message) { try { IAuthorizationKeys keys = GetAuthroziationKeys(serviceBusName); QueueClient client = new QueueClient(serviceBusName, queue, ReceiveMode.PeekLock); client.SendAsync(message).Wait(); await client.CloseAsync(); } catch (Exception) { throw; } }
public override async Task <RegeneratedSecret> GetSecretToUseDuringRekeying() { Logger.LogInformation("Getting temporary secret to use during rekeying from other ({0}) policy key...", OtherPolicyKey); IAuthorizationKeys otherKeys = await Get(); Logger.LogInformation("Successfully retrieved temporary secret!"); return(new RegeneratedSecret() { Expiry = DateTimeOffset.UtcNow + TimeSpan.FromMinutes(10), UserHint = Configuration.UserHint, NewSecretValue = GetKeyValue(OtherPolicyKey, otherKeys), NewConnectionString = GetConnectionStringValue(OtherPolicyKey, otherKeys) }); }
/// <summary> /// Send Message to Azure Queue /// </summary> /// <param name="serviceBusName">Service Bus Connection string</param> /// <param name="queue">queue name</param> /// <param name="message">Brokered Message</param> public async void SendMessage <T>(string serviceBusName, string queue, T messageObject) { try { IAuthorizationKeys keys = GetAuthroziationKeys(serviceBusName); string objectJson = this.SerializeObjectToJson <T>(messageObject); byte[] objectBytes = Encoding.UTF8.GetBytes(objectJson); Message queueMessage = new Message(objectBytes); QueueClient client = new QueueClient(keys.PrimaryConnectionString, queue); client.SendAsync(queueMessage).Wait();//As per observation if we don't wait, No message added to queue. Try and check after removing Wait() call. await client.CloseAsync(); } catch (Exception) { throw; } }