簡體   English   中英

發送到Azure事件中心錯誤

[英]Sending to Azure Event Hub Error

我對C#,Microsoft Azure以及基本上所有東西都是全新的。 我正在嘗試設置一個可以向其發送數據的Azure事件中心。 現在我只是按照這里可以找到的教程。

它構建得很好,但每次都會收到相同的異常。 消息如下:遠程主機強制關閉現有連接。 這個問題以前曾被問但從未回答過。

只是為了確保我正確這樣做我正在附加圖片,我獲取了事件中心連接字符串和中心名稱的值。

從哪里獲得事件中心連接字符串。

從哪里獲得事件中心連接字符串。

這個位於命名空間內 - 而不是中心本身。

我從哪里獲得了Hub名稱。 我從哪里獲得了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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM