1

Azure ワーカー ロール用に新しい NServiceBus を作成しました。

構成は簡単です:

NServiceBus.Configure.With(busAssemblies)
                        .Log4Net()
                        .License(Config.Default.NServiceBus_License)
                        .DefineEndpointName(endPointName) 
                        .UnityBuilder(serviceBusDiConfiguration.Container)
                        .AzureConfigurationSource()
                        .AzureSagaPersister()
                        .AzureSubcriptionStorage()
                        .AzureDataBus()
                        .JsonSerializer()
                        .AzureServiceBusMessageQueue()
                        .UnicastBus()
                        .LoadMessageHandlers()
                        .CreateBus()
                        .Start()

クライアントの構成は、 への追加の呼び出しを除いて、上記と同じです.DoNotAutoSubscribe()。次に、クライアントBus.Send(message)はリスナーの入力キューを使用します。

Azure Bus Queue は、メッセージが入力キューに送信され、それに応じて削除されることを報告しました (リスナーが実行されている場合、そうでない場合はそうではありません)。はい、メッセージはキューから削除されています。ただし、ハンドラーが起動されておらず、イベント ビューアーまたはコンソール (開発ファブリックを使用している場合) にエラー メッセージは表示されません。

ここに画像の説明を入力

唯一のエラーであり、メッセージがキューから削除された時点でログに記録されていないため、関連性があるとは思いません。むしろ、起動時にこれをログに記録していましたが、エラーは次のとおりです。

[MonAgentHost] Error: MA EVENT: 2013-05-12T22:52:54.925Z
[MonAgentHost] Error:     2
[MonAgentHost] Error:     12084
[MonAgentHost] Error:     6180
[MonAgentHost] Error:     NetTransport
[MonAgentHost] Error:     0
[MonAgentHost] Error:     880e569e-d37b-4262-bdae-dbe5133
[MonAgentHost] Error:     netutils.cpp
[MonAgentHost] Error:     OpenHttpSession
[MonAgentHost] Error:     749
[MonAgentHost] Error:     0
[MonAgentHost] Error:     2f94
[MonAgentHost] Error:     
[MonAgentHost] Error:     WinHttpGetProxyForUrl(http://127.0.0.1) failed ERROR_WINHTTP_AUTODETECTION_FAILED (12180)

これは私を夢中にさせています。誰かが実際に API をこれほど複雑で不透明に設計したとは信じられません。比較すると、Windows Complication Foundation は取るに足らないものに見えます。何がうまくいかなかったのかを理解するのを手伝ってください。このファイル/フォルダを調べてエラー ログを探しても問題ありません。

ありがとう!

4

1 に答える 1

0

私は最近同じ問題を抱えていました。独自のエンドポイント名を定義し、ローカルで (Azure ワーカー ロールではなく) ホストする場合、AzureServiceBus トランスポートに問題がありました。最近、Yves によって修正されましたが、回避策を使用して、Azure ServiceBus トランスポートの app.config セクションで完全なエンドポイント名 (サービス URL を含む) を指定しました。

  <configSections>
<section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
<section name="AzureServiceBusQueueConfig" type="NServiceBus.Config.AzureServiceBusQueueConfig, NServiceBus.Azure" />
<section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
<section name="Logging" type="NServiceBus.Config.Logging, NServiceBus.Core" />
  </configSections>

 <AzureServiceBusQueueConfig QueueName="myendpoint@mynamespace.servicebus.windows.net" ConnectionString="Endpoint=sb://mynamespace.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=mysecret" />
于 2013-10-01T11:26:49.343 に答える