1

以下は、メッセージを処理しようとしたときに表示されるエラーメッセージのスニペットです。足りないものはありますか?

 2013-02-28 09:17:35,362 [Worker.5] INFO  NServiceBus.Unicast.UnicastBus [(null)]     <(null)> - Received message AIS.TestApp.Messaging.GDataStatusResponse, AIS.TestApp.GCommon, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null with ID 7e7f5048-9f17-4d27-8499-42e92520ed42\32912973 from sender gca-gdata-service
    2013-02-28 09:17:35,394 [Worker.5] ERROR NServiceBus.Unicast.UnicastBus [(null)]
     <(null)> - ResponseHandler Failed handling message.
    System.NullReferenceException: Object reference not set to an instance of an object.
       at NServiceBus.Unicast.UnicastBus.<>c__DisplayClass10`1.<GetAction>b__f(Object o) in d:\BuildAgent-03\work\d692fe98ef9a76ca\src\unicast\NServiceBus.Unicast\UnicastBus.cs:line 909
       at NServiceBus.ObjectBuilder.Common.CommonObjectBuilder.NServiceBus.ObjectBuilder.IBuilder.BuildAndDispatch(Type typeToBuild, Action`1 action) in d:\BuildAgent-03\work\d692fe98ef9a76ca\src\impl\ObjectBuilder.Common\ObjectBuilder.Common\C
    ommonObjectBuilder.cs:line 117

これは、IWantToRunAtStartupのRunメソッド内でバスを初期化した方法です。

Configure.With()
                    .Log4Net()
                    .DefaultBuilder()
                    .XmlSerializer(NServiceBusCommon.XmlSerializerNamespace)
                    .MsmqTransport()
                    .UnicastBus()
                    .CreateBus()
                    .Start();

以下は私がリクエストを処理しようとしているコードです

public class ResponseHandler : IHandleMessages<GDataStatusResponse>,
    IHandleMessages<GDataReply>
{
    public void Handle(GDataStatusResponse message)
    {
            ....
    }
}

さらに詳しい情報が必要な場合はお知らせください。

ありがとうニシャント

4

1 に答える 1

1

初期化はIWantToRunAtStartup!で行われません。

エンドポイントを初期化する方法の例を次に示します。

class EndpointConfig : IConfigureThisEndpoint, AsA_Server, IWantCustomInitialization
{
    public void Init()
    {
        NServiceBus.Configure.With()
            .Log4Net()
            .DefaultBuilder()
            .XmlSerializer(NServiceBusCommon.XmlSerializerNamespace)
            .MsmqTransport()
            .UnicastBus()
    }
}

詳細については、http://support.nservicebus.com/customer/portal/articles/856698をお読みください。

于 2013-02-28T21:56:06.020 に答える