[英]Sending to Azure Event Hub Error
我对C#,Microsoft Azure以及基本上所有东西都是全新的。 我正在尝试设置一个可以向其发送数据的Azure事件中心。 现在我只是按照这里可以找到的教程。
它构建得很好,但每次都会收到相同的异常。 消息如下:远程主机强制关闭现有连接。 这个问题以前曾被问过但从未回答过。
只是为了确保我正确这样做我正在附加图片,我获取了事件中心连接字符串和中心名称的值。
从哪里获得事件中心连接字符串。
这个位于命名空间内 - 而不是中心本身。
我从哪里获得了Hub名称。
代码如下:
private const string EventHubConnectionString = "<Connection String>";
private const string EventHubName = "eventhubtest";
集线器名称必须只是那个或路径吗? 任何想法或帮助将不胜感激。 谢谢。
@Jamie Penzien,我几天坚持这个完全相同的错误,我的同事让我改变了以下部分并且它有效。
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EventHubConnectionString)
{
EntityPath = EventHubName,
TransportType = TransportType.AmqpWebSockets
};
我仍然试图了解原因,这可能与公司的防火墙设置有关。
Eventhub名称或实体路径将只是在EventHub名称空间下找到的EventHub的名称。
您可以使用以下代码创建客户端:
EventHubClient eventHubClient;
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EventHubConnectionString)
{
EntityPath = EventHubName
};
eventHubClient = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString());
可以在Microsoft.Azure.EventHubs包下找到EventHubsConnectionStringBuilder。
我回答了自己的问题。 首先,我需要更改连接字符串并确保它包含其中的实体路径。 然后在建立集线器客户端时我做了这个:
eventHubClient = EventHubClient.CreateFromConnectionString(EventHubConnectionString);
但是,由于防火墙问题,我特意得到了这个例外。 我必须打开端口(现在正在处理它)以允许到事件中心的出站通信。 我相信这些是5671和5672端口。
感谢所有回答的人和@RayX,他们把它钉在头上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.