0

NServiceBus を使用して Azure トピックにメッセージを発行するコンソール アプリがあります。ただし、NServiceBus は、指定した名前ではなく、別の名前で新しいトピックを作成します。どうしてこれなの?

詳細

私のメッセージ構成は次のようになります。これは、「TheResponse」タイプのメッセージが「test1」という名前のトピックに送信されることを意味しますよね?

<UnicastBusConfig>
    <MessageEndpointMappings>

        <add Assembly="Messages" Type="Messages.TheResponse" Endpoint="test1"/>

    </MessageEndpointMappings>
</UnicastBusConfig>

<connectionStrings>
    <add name="NServiceBus/Transport"
        connectionString="Endpoint=sb://[my-namespace].servicebus.windows.net/;SharedSecretIssuer=[issuer];SharedSecretValue=[key]"></add>
</connectionStrings>

実際には、NServiceBus がMyAssemblyName-MyMachineName.eventsの形式で Azure 上に新しいトピックを作成します。

Azure Service Bus トランスポートを使用します。

NServiceBus で特定のトピックにイベントを発行するにはどうすればよいですか? MessageEndpointMappings の目的を誤解していますか?

4

1 に答える 1

1

Azure Servicebus では、異なる種類の複数のエンティティに同じ名前を付けることは許可されていないため、各エンドポイントは、エンドポイント名にちなんで名付けられた入力キューと、'.events' を追加した発行トピックを定義します。

特定のトピックに発行することはできません。エンドポイントは独自のトピックでのみ発行でき、サブスクライバーは特定のエンドポイントをリッスンすることを決定できます。

マッピング ファイルには、実際には、タイプ Messages.TheResponse のすべてのメッセージ/コマンドがエンドポイント 'test1' の入力キューに送信される必要がある、または TheResponse がイベントになる場合は、エンドポイント 'test1' のパブリッシング トピックにサブスクライブしてくださいと記載されています。

于 2015-06-11T17:08:02.380 に答える