有谁知道两个应用程序是否可以使用 Binary Serializer 通过 MassTransit.RuntimeServices 相互通信?
一旦我将我的总线配置为使用二进制序列化器,调用UseSubscriptionService()
方法后应用程序就会超时。当我查看 MassTransit.RuntimeServices 进程的输出时,我看到抛出了一个异常:
System.Runtime.Serialization.SerializationException: Failed to deserialize message
MassTransit.RuntimeServices 是否需要访问消息的内容(并因此对其进行反序列化)才能执行路由?
以下是我配置它们的代码片段:
应用 1
Bus.Initialize(sbc =>
{
sbc.UseMsmq();
sbc.UseBinarySerializer();
sbc.VerifyMsmqConfiguration();
sbc.UseMulticastSubscriptionClient();
sbc.ReceiveFrom("msmq://localhost/EGQueue");
sbc.UseSubscriptionService("msmq://localhost/mt_subscriptions");
});
应用 2
Bus.Initialize(sbc =>
{
sbc.UseMsmq();
sbc.UseBinarySerializer();
sbc.VerifyMsmqConfiguration();
sbc.UseMulticastSubscriptionClient();
sbc.ReceiveFrom("msmq://localhost/M3AgentQueue");
sbc.Subscribe(c => c.LoadFrom(Container));
sbc.UseSubscriptionService("msmq://localhost/mt_subscriptions");
});