私は、Entity Frameworkを使用してデータベース内の一部のエンティティを更新するASP.Net Web Apiアプリケーションを用意しています。特定のものが更新されると、更新されたAzureサービスバスのキューにそれを公開し、それを他のシステムで取得して処理する予定です。Web APIからのメッセージキューへの公開
Web APIからキューにメッセージを追加するプロセスを開始する方法があまりよく分かりません。私はapiで応答を返した後、あまりコードを実行するかどうか、あるいはおそらくイベントを発生させるかどうかわからないので、あまりにも多くのことをすることができないことを知っています。しかし、私はメインキューにメッセージを追加するためのメッセージキューを持っていません。
私はこれがユーザーへの応答時間に影響しないようにするため、非同期にしたいと思っています。何か案は?
私はAzure Service Busに精通していませんが、どのESBソリューションでも非同期イベントを処理できるはずです。おそらく、これがあなたの問題の解決策になるかもしれません:http://stackoverflow.com/questions/15612407/azure-servicebus-async-to-be-or-not-to-be#15614417 – Vyrira
@Vyriraありがとうございます。キューにメッセージを追加するコードを取得しました。私はそれが応答時間に影響を与えたくなければ、Web APIからコードを呼び出す最良の方法は何かを考えています。 – ADringer
最も単純な方法は、 'Task.Run(()=> {});'の中にメッセージを送り、それを待たないコードを置くことです。または、コードが既にタスクを返す場合は、それを待ってはいけません。ただし、これは最適なソリューションではありません。http://blog.stephencleary.com/2014/06/fire-and-forget-on-asp-net.html – peco