簡単な例で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」である必要があります。
なにが問題ですか??
どんな助けでもいただければ幸いです