0

と の 2 つのメッセージ タイプがUpdateIndividualありUpdateIndividualWithDetailsます。 UpdateIndividualWithDetailsから継承しUpdateIndividualます。次に、それぞれのハンドラーを用意し、次のように順序を指定しています

public void SpecifyOrder(Order order)
{
    order.Specify(new First<UpdateIndividual>());
}

UpdateIndividualWithDetailsが常に最初に呼び出されるため、これは機能しません。NServiceBus 2.6 を使用しており、現在アップグレードできません。これを解決する方法はありますか?

4

2 に答える 2

0

質問に含めたコードから、ハンドラータイプではなくメッセージタイプを誤って指定したようです。

UpdateIndividualHandlerメッセージの形式ごとに、たとえばとなどの個別のハンドラタイプがUpdateIndividualWithDetailsHandlerある場合、これが機能しなかった場合は驚きます。

public void SpecifyOrder(Order order)
{
    order.Specify(new First<UpdateIndividualHandler>());
}

NServiceBusを見てからしばらく経ちますが、正しくないかもしれません。

于 2012-12-05T14:21:14.627 に答える
0

継承ではなく構成を使用することで、問題が解決しました。

于 2013-02-05T05:14:04.083 に答える