Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 发送到Azure事件中心错误_C#_Azure_Azure Eventhub - Fatal编程技术网

C# 发送到Azure事件中心错误

C# 发送到Azure事件中心错误,c#,azure,azure-eventhub,C#,Azure,Azure Eventhub,我对C、Microsoft Azure以及基本上所有东西都是全新的。我正在尝试设置一个Azure事件中心,我可以将数据发送到该中心。现在,我只是在学习可以找到的教程 它构建得很好,但每次我都会收到相同的异常。消息如下:远程主机已强制关闭现有连接。这个问题已经被问过了,但从未得到回答 为了确保我做得对,我附加了一些图片,其中包含我获取事件中心连接字符串和中心名称的值 我从中获取事件中心连接字符串 这一个在名称空间中,而不是中心本身 我从那里得到中心的名字。 守则如下: private cons

我对C、Microsoft Azure以及基本上所有东西都是全新的。我正在尝试设置一个Azure事件中心,我可以将数据发送到该中心。现在,我只是在学习可以找到的教程

它构建得很好,但每次我都会收到相同的异常。消息如下:远程主机已强制关闭现有连接。这个问题已经被问过了,但从未得到回答

为了确保我做得对,我附加了一些图片,其中包含我获取事件中心连接字符串和中心名称的值

我从中获取事件中心连接字符串

这一个在名称空间中,而不是中心本身

我从那里得到中心的名字。

守则如下:

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;。事实证明我真正的问题是防火墙。我必须为出站通信打开端口,这样才能发送消息。