gpt4 book ai didi

c# - MassTransit 二进制序列化程序和 MassTransit.RuntimeServices 问题

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:04 26 4
gpt4 key购买 nike

有谁知道两个应用程序是否可以使用二进制序列化程序通过 MassTransit.RuntimeServices 相互通信?

一旦我将总线配置为使用二进制串行器,应用程序就会在调用 UseSubscriptionService() 方法后超时。当我查看 MassTransit.RuntimeServices 进程的输出时,我看到抛出了异常:

System.Runtime.Serialization.SerializationException: Failed to deserialize message

MassTransit.RuntimeServices 是否需要访问消息的内容(并因此对其进行反序列化)以执行路由?

以下是我配置它们的代码片段:

应用一

Bus.Initialize(sbc =>
{
sbc.UseMsmq();
sbc.UseBinarySerializer();
sbc.VerifyMsmqConfiguration();
sbc.UseMulticastSubscriptionClient();
sbc.ReceiveFrom("msmq://localhost/EGQueue");
sbc.UseSubscriptionService("msmq://localhost/mt_subscriptions");
});

应用二

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");
});

最佳答案

您需要编译您自己的使用二进制序列化程序的运行时服务版本。这是您唯一需要的更改,但 Serializer 需要在任何地方都匹配。

关于c# - MassTransit 二进制序列化程序和 MassTransit.RuntimeServices 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19797286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com