public SbSender(string NamespaceConnectionString, string EntityPath, SbEntityTypes EntityType, ISbManager sbManager) { if (sbManager.QueueOrTopicExists(EntityPath, EntityType)) { this.messageSender = new MessageSender(NamespaceConnectionString, EntityPath, null); this.messageSender.ServiceBusConnection.TransportType = TransportType.AmqpWebSockets; } else { throw new NonExistentEntityException(String.Format("{0} {1} does not exist", EntityType, EntityPath)); } }
public bool QueueOrTopicExists(string entityPath, SbEntityTypes entityType) { switch (entityType) { case SbEntityTypes.Queue: return(managementClient.QueueExistsAsync(entityPath).Result); case SbEntityTypes.Topic: return(managementClient.TopicExistsAsync(entityPath).Result); default: return(false); } }
/// <summary> /// Main cmdlet method. /// </summary> protected override void ProcessRecord() { switch (this.ParameterSetName) { case "SendToQueue": entityPath = QueueName; entityType = SbEntityTypes.Queue; break; case "SendToTopic": entityPath = TopicName; entityType = SbEntityTypes.Topic; break; } SbManager sbManager = new SbManager(NamespaceConnectionString); SbSender sbSender = new SbSender(NamespaceConnectionString, entityPath, entityType, sbManager); sbSender.SendMessagesInBatch(Messages); }