发送到 Azure 事件中心错误
Sending to Azure Event Hub Error
我对 C#、Microsoft Azure 以及基本上所有的东西都是全新的。我正在尝试设置一个我可以向其发送数据的 Azure 事件中心。现在,我只是在学习可以找到的教程 here。
它构建得很好,但我每次都收到相同的异常。消息如下:现有连接被远程主机强行关闭。此问题已被问到 before 但从未回答过。
为了确保我这样做是正确的,我附上了图片,其中包含我获取事件中心连接字符串和中心名称的值的位置。
我从哪里获得事件中心连接字符串。
这个位于命名空间内 - 而不是集线器本身。
我从哪里得到集线器名称。
代码如下:
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 包下找到。
@Jamie Penzien,几天来我一直被这个完全相同的错误所困扰,我的同事让我更改以下部分并且成功了。
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EventHubConnectionString)
{
EntityPath = EventHubName,
TransportType = TransportType.AmqpWebSockets
};
原因还在研究中,可能与公司的防火墙设置有关
我回答了我自己的问题。首先,我需要更改连接字符串并确保其中包含实体路径。然后在建立集线器客户端时我这样做了:
eventHubClient = EventHubClient.CreateFromConnectionString(EventHubConnectionString);
但是,由于防火墙问题,我收到了此异常。我必须打开端口(现在正在处理)以允许到事件中心的出站通信。我相信这些是端口 5671 和 5672。
感谢所有回答的人和@RayX 把它钉在头上。
我对 C#、Microsoft Azure 以及基本上所有的东西都是全新的。我正在尝试设置一个我可以向其发送数据的 Azure 事件中心。现在,我只是在学习可以找到的教程 here。
它构建得很好,但我每次都收到相同的异常。消息如下:现有连接被远程主机强行关闭。此问题已被问到 before 但从未回答过。
为了确保我这样做是正确的,我附上了图片,其中包含我获取事件中心连接字符串和中心名称的值的位置。
我从哪里获得事件中心连接字符串。
这个位于命名空间内 - 而不是集线器本身。
我从哪里得到集线器名称。
代码如下:
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 包下找到。
@Jamie Penzien,几天来我一直被这个完全相同的错误所困扰,我的同事让我更改以下部分并且成功了。
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EventHubConnectionString)
{
EntityPath = EventHubName,
TransportType = TransportType.AmqpWebSockets
};
原因还在研究中,可能与公司的防火墙设置有关
我回答了我自己的问题。首先,我需要更改连接字符串并确保其中包含实体路径。然后在建立集线器客户端时我这样做了:
eventHubClient = EventHubClient.CreateFromConnectionString(EventHubConnectionString);
但是,由于防火墙问题,我收到了此异常。我必须打开端口(现在正在处理)以允许到事件中心的出站通信。我相信这些是端口 5671 和 5672。
感谢所有回答的人和@RayX 把它钉在头上。