私はデータを送信するAzure EventHub
を持っています。コンソールアプリケーション(フレームワーク4.6.1)で次のコードを使用すると、完全に実行されます。私はAsp.Net
アプリケーションでそれを置けばAsp.NetサイトからEventHubにデータを送信する
eventHubClient = EventHubClient.CreateFromConnectionString(myConnString);
Console.WriteLine("Client Created");
var sender = eventHubClient.CreatePartitionSender("1");
var message = $"Message";
Console.WriteLine($"Sending message: {message}");
var eventData = new EventData(Encoding.UTF8.GetBytes(message));
if (!sender.SendAsync(eventData).Wait(TimeSpan.FromMilliseconds(10000)))
{
int a = 0;
}
しかし、タイムアウトし、毎回それを(フレームワーク4.6.1をターゲット)のいずれかIIS-Express
またはIIS
で実行されています。
私はここで何が欠けていますか?
なぜすべてのアイテムをPartion 1に強制していますか?私はこのアプローチを使用していますが、awaitを使用する非同期メソッドでは、10秒間待機すると疑わしいと思われます。削除します。 –
@SimonW私は1つのパーティションに強制していませんが、これはサンプルコードでした。イベントを送信するパーティションが5つあります。待ちに関しては、それは「10秒待ち」ではなく、呼び出しのタイムアウトを提供します。 –
10秒のタイムアウトを削除すると成功しますか?コントローラーなどの呼び出しでこれが呼び出されていますか?もしそうなら、コントローラのアクションは非同期で実行するように設定されていますか? –