Получение Azure Ошибка очереди служебной шины «Аргумент namespaceConnectionString имеет значение NULL или пробел. \ R \ nПараметр имени: namespaceConnectionString» - PullRequest
0 голосов
/ 16 января 2020

Я столкнулся с проблемой. Я создал очередь ServiceBus на портале Azure. Также я написал ядро. Net для отправки данных. Когда я отправляю данные в очередь из моего приложения, я получаю следующее сообщение об ошибке в строке подключения при инициализации QueueClient:

"Аргумент namespaceConnectionString имеет значение null или пробел. \ R \ nParameter name : namespaceConnectionString "

У меня также есть Google, и я попробовал все варианты, такие как удаление EntityPath из строки подключения. Также попробовал другую версию Target Framework (до 3.1), которая сейчас используется. Net Core 2.2.

Пожалуйста, помогите мне.

using AzureTestProject.Interface;
using Microsoft.Azure.ServiceBus;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AzureQueueService
{
    public class ServiceBusQueue  
    {
        private  QueueClient _queueClient;
        private readonly IConfiguration _configuration;
        private const string QUEUE_NAME = "devicetestqueue";
        private string _connectionString;

        // Payload =  {"Id":"1","Type":"Device1","SerialNumber":"10001"}
        public async Task SendMessage(object payload)
        {
            try
            {
                _queueClient = new QueueClient(
                _configuration.GetConnectionString("Endpoint=sb://Subscription.servicebus.windows.net/;SharedAccessKeyName=DeviceTestQueueListenAccessKey;SharedAccessKey=hjklgtfapinznyx2gSnPqngQgIa9p7AxeihLoBz8+Sc=;EntityPath=devicetestqueue"),
                QUEUE_NAME);

                string data = JsonConvert.SerializeObject(payload);
                Message message = new Message(Encoding.UTF8.GetBytes(data));

                await _queueClient.SendAsync(message);
            }
            catch (Exception ex)
            {
                throw;
            }            
        }
    }
}

1 Ответ

0 голосов
/ 16 января 2020

У меня есть решение, как показано ниже:

 public async Task SendMessage(object payload)
        {
            try
            {                
                _queueClient = new QueueClient("Endpoint=sb://Subscription.servicebus.windows.net/;SharedAccessKeyName=DeviceTestQueueListenAccessKey;SharedAccessKey=hjklgtfapinznyx2gSnPqngQgIa9p7AxeihLoBz8+Sc=;EntityPath=devicetestqueue", QUEUE_NAME);
                string data = JsonConvert.SerializeObject(payload);
                Message message = new Message(Encoding.UTF8.GetBytes(data));

                await _queueClient.SendAsync(message);
            }
            catch (Exception ex)
            {
                throw;
            }

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...