NServiceBus-服务器正在向控制台抛出空消息警告 2013-03-2810:18:32374[工人5] 警告NServiceBus.Unicast.UnicastBus[(null)]- 收到一条空消息-忽略。

NServiceBus-服务器正在向控制台抛出空消息警告 2013-03-2810:18:32374[工人5] 警告NServiceBus.Unicast.UnicastBus[(null)]- 收到一条空消息-忽略。,nservicebus,nservicebus3,Nservicebus,Nservicebus3,我有一个从mvc4网站到消息处理器的bus.send(“server”,command)客户端。消息处理器被设置为默认,没有任何自定义初始化 这是我在global.asax网站端的配置 2013-03-28 10:18:32,374 [Worker.5] WARN NServiceBus.Unicast.UnicastBus [(null)] <(null)> - Received an empty message - ignoring. Configure.With() .

我有一个从mvc4网站到消息处理器的bus.send(“server”,command)客户端。消息处理器被设置为默认,没有任何自定义初始化

这是我在global.asax网站端的配置

2013-03-28 10:18:32,374 [Worker.5] 
WARN  NServiceBus.Unicast.UnicastBus [(null)] <(null)> - 
Received an empty message - ignoring.
Configure.With()
.StructureMapBuilder(容器)
.JsonSerializer()
.Log4Net()
.MsmqTransport()
.IsTransactional(错误)
.PurgeOnStartup(正确)
.UnicastBus()
.ImpersonateSender(错误)
.CreateBus()
.Start(()=>Configure.Instance.ForInstallationOn().Install());

我复习了,但没有帮助,我没有只读属性。

这个问题类似于OP中的链接问题。 我发现序列化方法需要在发送方和服务器之间匹配。
我必须在服务器端添加自定义初始化,并添加defaultbuilder和json序列化程序以匹配web端,以便消息正常工作。

我发现的另一件事是,我使用了
IWantCustomInitialization
,配置如下:

        Configure.With()
            .StructureMapBuilder(container)
            .JsonSerializer()
            .Log4Net()
            .MsmqTransport()
                .IsTransactional(false)
                .PurgeOnStartup(true)
            .UnicastBus()
                .ImpersonateSender(false)
            .CreateBus()
            .Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());         
我没有在配置中指定消息的程序集类型。通过添加,解决了问题

Configure.With(typeof(TransactionDetailsHandler).Assembly) // this is problematic one
                .CastleWindsorBuilder(container)
                .DefaultBuilder();