rhino.esb「メッセージの所有者を見つけることができなかった」

StackOverflow https://stackoverflow.com/questions/4857134

  •  27-10-2019
  •  | 
  •  

質問

メッセージを公開して購読できるようにしたいサービスがいくつかあります。

次の構成を備えたバックエンドバスコンソールアプリがあります。

<configSections>
<section name="castle" type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor" />
</configSections>
<castle>
<facilities>
<facility id="rhino.esb">
<bus
                  threadCount="1"
                  numberOfRetries="5"
                  endpoint="rhino.queues://localhost:50001/SonaTribeESB_Backend"
                  name="backend"/>
<messages />
</facility>
</facilities>

使用して解雇されます。

QueueUtil.PrepareQueue("backend");
_container = new WindsorContainer().AddFacility<WcfFacility>().Install(Configuration.FromAppConfig());
_container.Register(Component.For<IWindsorContainer>().Instance(_container));
Console.WriteLine("Backend: Starting to listen for incoming messages ...");
var host = new DefaultHost();
host.Start<BackendBootStrapper>();
Console.ReadLine();

次に、次のESB構成を備えたWCFサービスを取得します。

<facilities>
<facility id="rhino.esb" >
<bus
                    threadCount="1"
                    numberOfRetries="5"
                    endpoint="rhino.queues://localhost:50002/SonaTribeESB_AccountClient"
                    name ="AccountClient"/>
<messages>
<add
                      name="Messages"
                      endpoint="rhino.queues://localhost:50001/SonaTribeESB_Backend" />
</messages>
</facility>
</facilities>

そして、Global.Asaxで以下:

Container.Install(Configuration.FromAppConfig());
Container.Kernel.AddFacility("rhino.esb", new RhinoServiceBusFacility());
var bus = Container.Resolve<IStartableServiceBus>();
bus.Start();

そして、次の構成を備えた2番目のサービス:

<facilities>
<facility id="rhino.esb" >
<bus
                    threadCount="1"
                    numberOfRetries="5"
                    endpoint="rhino.queues://localhost:50003/SonaTribeESB_EventClient"
                    name ="EventClient"/>
<messages>
<add
                      name="Messages"
                      endpoint="rhino.queues://localhost:50001/SonaTribeESB_Backend" />
</messages>
</facility>
</facilities>

しかし、私がこれを使用してバスにメッセージを送ろうとするときはいつでも:

 _serviceBus.Send(new Esb.Messages.Account.EventAttendanceToggleMessage
                                {
                                    AccountProxy = eventAttendanceRequest.Account,
                                    EventProxy = eventAttendanceRequest.EventInstance,
                                    Attending = attending
                                });

次のエラーが発生します。

sonatribe.esb.messages.account.eventattendanceTogglemessageのメッセージ所有者を見つけることができませんでした

誰かが私が間違っていることを考えましたか?

役に立ちましたか?

解決

これに関する問題は、実際には、IOCコンテナのRavendb DocumentStoreに適用されている誤ったライフスタイルに関係していました!修繕。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top