C# 发送到Azure事件中心错误
我对C、Microsoft Azure以及基本上所有东西都是全新的。我正在尝试设置一个Azure事件中心,我可以将数据发送到该中心。现在,我只是在学习可以找到的教程 它构建得很好,但每次我都会收到相同的异常。消息如下:远程主机已强制关闭现有连接。这个问题已经被问过了,但从未得到回答 为了确保我做得对,我附加了一些图片,其中包含我获取事件中心连接字符串和中心名称的值 我从中获取事件中心连接字符串 这一个在名称空间中,而不是中心本身 我从那里得到中心的名字。 守则如下:C# 发送到Azure事件中心错误,c#,azure,azure-eventhub,C#,Azure,Azure Eventhub,我对C、Microsoft Azure以及基本上所有东西都是全新的。我正在尝试设置一个Azure事件中心,我可以将数据发送到该中心。现在,我只是在学习可以找到的教程 它构建得很好,但每次我都会收到相同的异常。消息如下:远程主机已强制关闭现有连接。这个问题已经被问过了,但从未得到回答 为了确保我做得对,我附加了一些图片,其中包含我获取事件中心连接字符串和中心名称的值 我从中获取事件中心连接字符串 这一个在名称空间中,而不是中心本身 我从那里得到中心的名字。 守则如下: private cons
private const string EventHubConnectionString = "<Connection String>";
private const string EventHubName = "eventhubtest";
集线器名称必须是该名称还是路径?任何想法或帮助都将不胜感激。谢谢。Eventhub名称或实体路径只是在Eventhub命名空间下找到的Eventhub名称 您可以使用以下代码创建客户端:
EventHubClient eventHubClient;
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EventHubConnectionString)
{
EntityPath = EventHubName
};
eventHubClient = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString());
EventHubsConnectionStringBuilder可以在Microsoft.Azure.EventHubs包下找到。Eventhub名称或实体路径将只是在Eventhub命名空间下找到的Eventhub名称 您可以使用以下代码创建客户端:
EventHubClient eventHubClient;
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EventHubConnectionString)
{
EntityPath = EventHubName
};
eventHubClient = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString());
EventHubsConnectionStringBuilder可以在Microsoft.Azure.EventHubs包中找到。@Jamie Penzien,我已经被这个完全相同的错误困扰了好几天,我的同事让我更改以下部分,它成功了
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EventHubConnectionString)
{
EntityPath = EventHubName,
TransportType = TransportType.AmqpWebSockets
};
我仍在试图理解原因,这可能与公司的防火墙设置有关。@Jamie Penzien,我被同样的错误困扰了好几天,我的同事要求我更改以下部分,结果成功了
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EventHubConnectionString)
{
EntityPath = EventHubName,
TransportType = TransportType.AmqpWebSockets
};
我仍在努力理解原因,可能与公司的防火墙设置有关。我回答了自己的问题。首先,我需要更改连接字符串,并确保其中包含实体路径。然后,在建立集线器客户端时,我执行了以下操作:
eventHubClient = EventHubClient.CreateFromConnectionString(EventHubConnectionString);
然而,我得到这个例外,特别是因为防火墙问题。我现在必须打开处理它的端口,以允许到事件中心的出站通信。我相信这些是5671和5672端口
谢谢你的回答,谢谢@RayX把它钉在头上 我回答了自己的问题。首先,我需要更改连接字符串,并确保其中包含实体路径。然后,在建立集线器客户端时,我执行了以下操作:
eventHubClient = EventHubClient.CreateFromConnectionString(EventHubConnectionString);
然而,我得到这个例外,特别是因为防火墙问题。我现在必须打开处理它的端口,以允许到事件中心的出站通信。我相信这些是5671和5672端口
谢谢你的回答,谢谢@RayX把它钉在头上 我完全做到了这一切。我相信一定有一个我不知道的潜在问题,因为我完全遵循了教程,我非常确定我有正确的名称/名称空间字符串,我仍然收到错误。我已经完全做到了这一切。我相信一定有一个我不知道的潜在问题,因为我严格遵循了教程,我非常确定我有正确的名称/名称空间字符串,我仍然收到错误。我做了类似的事情。我确保连接字符串包含实体路径,然后将eventhubclient的设置更改为:eventhubclient=eventhubclient.CreateFromConnectionString;。事实证明我真正的问题是防火墙。我必须为出站通信打开端口,这样才能发送消息。我做了类似的事情。我确保连接字符串包含实体路径,然后将eventhubclient的设置更改为:eventhubclient=eventhubclient.CreateFromConnectionString;。事实证明我真正的问题是防火墙。我必须为出站通信打开端口,这样才能发送消息。