コード例 #1
0
        public async Task ShouldSendAndReceiveWithNonExistantQueue(BodySerializationType serializationType, string encoding)
        {
            var data   = Path.GetTempFileName();
            var result = await SendMessage(_queueName, data : data, createEntity : true, queueOrTopic : QueueOrTopic.Queue, serializationType : serializationType, encoding : Encoding.GetEncoding(encoding));

            var msg = await ReceiveMessage(_queueName, subscriptionName : _subscriptionName, queueOrSubscription : QueueOrSubscription.Queue, serializationType : serializationType);

            Assert.That(msg.Content, Is.EqualTo(data));
        }
コード例 #2
0
 public async Task <SendResult> SendMessage(string entityPath, string data = "foobar", BodySerializationType serializationType = BodySerializationType.String, bool createEntity = true, QueueOrTopic queueOrTopic = QueueOrTopic.Queue, Encoding encoding = null, string contentType = null, Dictionary <string, string> properties = null)
 {
     encoding = encoding ?? Encoding.UTF8;
     entitiesToDelete.Add(new EntitySpec {
         EntityType = queueOrTopic, Name = entityPath
     });
     return(await ServiceBus.Send(new SendInput
     {
         QueueOrTopicName = entityPath,
         ConnectionString = _connectionString,
         Data = data,
         Properties = properties?.Select(kvp => new MessageProperty {
             Name = kvp.Key, Value = kvp.Value
         }).ToArray() ?? new MessageProperty[] {}
     }, new SendOptions
     {
         CreateQueueOrTopicIfItDoesNotExist = createEntity,
         BodySerializationType = serializationType,
         DestinationType = queueOrTopic,
         TimeoutSeconds = 60,
         ContentType = contentType ?? $"plain/text;charset={encoding.BodyName}"
     }).ConfigureAwait(false));
 }
コード例 #3
0
 private async Task <ReadResult> ReceiveMessage(string entityName, bool useCached = true, QueueOrSubscription queueOrSubscription = QueueOrSubscription.Queue, string subscriptionName = null, bool createEntity = true, BodySerializationType serializationType = BodySerializationType.String, Encoding predefinedEncoding = null)
 {
     predefinedEncoding = predefinedEncoding ?? Encoding.UTF8;
     entitiesToDelete.Add(new EntitySpec {
         EntityType = queueOrSubscription == QueueOrSubscription.Queue ? QueueOrTopic.Queue : QueueOrTopic.Topic, Name = entityName
     });
     return(await ServiceBus.Read(new ReadInput
     {
         QueueOrTopicName = entityName,
         ConnectionString = _connectionString,
         SourceType = queueOrSubscription,
         SubscriptionName = subscriptionName,
     }, new ReadOptions
     {
         BodySerializationType = serializationType,
         DefaultEncoding = MessageEncoding.Other,
         EncodingName = predefinedEncoding.BodyName,
         CreateQueueOrSubscriptionIfItDoesNotExist = createEntity,
         UseCachedConnection = useCached,
         TimeoutSeconds = 60,
     }));
 }