4

私は Azure Notification Bus を試しています。私の目標は、コントローラー アクションによってトリガーされた特定のイベントで WebApi サービスがプッシュ通知を送信するようにすることです。

NotificationHubClientオブジェクトをインスタンス化する正しい場所はどこだろうと思っていました。
コントローラー内 (通知を送信する直前) か、代わりにグローバルに初期化 (App_Start のように) してコントローラー内で再利用できると思います。

この例のチュートリアルでは、NotificationHubClientがコントローラでインスタンス化されています。

public RegisterController()
{
    var cn = "<FULL_SAS_CONNECTION_STRING>";
    hubClient = NotificationHubClient(cn, "<NOTIFICATION_HUB_NAME>");
}

好ましい方法は何ですか?

4

2 に答える 2

5

これをコントローラーでインスタンス化する必要があると思います。QueueClient および SubscriptionClient クラスとは異なり、 NotificationHubClient のインスタンス メンバーは、 docsに従って Threadsafe であることが保証されていません。これは、グローバル インスタンスがあり、複数のリクエスト処理中にそれを使用した場合、うまく相互作用しない可能性があることを意味します。

于 2013-09-02T13:12:56.723 に答える