修复进程间通讯消息序列号异常问题

This commit is contained in:
huangxianguo 2024-09-11 12:00:04 +08:00
parent e5c23c26ef
commit b3980da48f
2 changed files with 15 additions and 3 deletions

View File

@ -134,6 +134,7 @@ public class SystemParamsService
};
await MessageQueueHelper.Publish(Topics.ReportConfigData, systemParams);
await MessageQueueHelper.Publish(Topics.ReportConfigData, systemParams);
}
catch (Exception e)
{

View File

@ -64,7 +64,6 @@ public class ProcessHelper
if (dictionary == null) return;
var topic = dictionary["Topic"] as string;
var data = dictionary["Data"];
if (!Subscribers.TryGetValue(topic, out var subscribers)) return;
@ -75,9 +74,21 @@ public class ProcessHelper
var methodInfo = subscriber.Method;
var parameters = methodInfo.GetParameters();
if (parameters.Length != 2) continue;
var type = parameters[1].ParameterType;
var dataType = parameters[1].ParameterType;
var type = typeof(Message<>).MakeGenericType(dataType);
var payload = JsonUtil.FromJson(type, message);
if (payload == null) continue;
var property = type.GetProperty("Data");
var data = property?.GetValue(payload);
// 通知订阅者
subscriber.DynamicInvoke(topic, JsonUtil.FromJson(type, message));
subscriber.DynamicInvoke(topic, data);
}
catch (Exception exception)
{