1

簡単な例でMassTransitを使用していますが、正しいデータを受信して​​いないため、何が間違っているのかわかりません。HomeControllerに次のコードを含む単純なasp.net-mvcアプリがあります

public class TweetCreatedCommand : Command
{
    public readonly string Message;
    public readonly DateTime Timestamp;
    public readonly Guid TweetId;
    public readonly string Who;

    public TweetCreatedCommand(Guid tweetId, string message, DateTime timeStamp, string who)
    {
        TweetId = tweetId;
        Message = message;
        Timestamp = timeStamp;
        Who = who;
    }
}

public ActionResult Index()
    {
        TweetCreatedCommand data;

        Bus.Initialize(sbc =>
        {
            sbc.UseMsmq();
            sbc.VerifyMsmqConfiguration();
            sbc.UseMulticastSubscriptionClient();
            sbc.ReceiveFrom("msmq://localhost/test_queue");
            sbc.Subscribe(subs =>
            {
                subs.Handler<TweetCreatedCommand>(msg => data = new TweetCreatedCommand(msg.TweetId, msg.Message,msg.Timestamp,msg.Who));
            });
        });

        Bus.Instance.Publish(new TweetCreatedCommand(Guid.NewGuid(),"foo!",DateTime.Now,"CDA"));

                    ViewData.Model = data;

        return View();
    }

このコードをデバッグすると、TweetCreatedCommandがどのように公開され、MSMQキューでデータがOKであるかを確認できますが、ハンドラーがデータを受信すると、TweetCreatedCommand.TweetIdは00000000-0000-0000-0000-000000000000になります。その他のTweetCreatedCommand.Messageはnullであり、「foo!」である必要があります。TweetCreatedCommand.TimeStampは01/01/01です。誰がnullであり、「CDA」である必要があります。

なにが問題ですか??

どんな助けでもいただければ幸いです

4

1 に答える 1