![](/img/trans.png)
[英]Azure: {“Invalid syntax for directory path ''\r\nParameter name: initialConfiguration”} Error
[英]Getting Azure Servicebus Queue Error "The argument namespaceConnectionString is null or white space. \r\nParameter name: namespaceConnectionString"
我正面临这个问题。 我在 Azure 门户上创建了 ServiceBus 队列。 我还编写了用于发送数据的 .Net 核心应用程序。 当我将数据从我的应用程序发送到队列时,当 QueueClient 初始化时,我在连接字符串中收到以下错误消息:
"参数 namespaceConnectionString 为空或空白。\\r\\n参数名称:namespaceConnectionString"
我也有谷歌并尝试了所有选项,例如从连接字符串中删除 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;
}
}
}
}
我得到了如下解决方案:
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;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.