生產者使用.net core編寫,而消費者使用.net編寫,消息類型都是String類型,但是.net core是基於System.Private.CoreLib.dll,.net是基於mscorlib.dll,導致消費者在處理消息的時候報無法加載System.Private.CoreLib.dll的錯誤。解決辦法也簡單,生產者和消費者都使用第三方類型。比如Newtonsoft.Json的Jobject
//生產
var param = new JObject
{
new JProperty("id", cameraId),
new JProperty("starttime", playTime),
new JProperty("rtmp", rtmp)
};
//回放消息寫入消息隊列
RabbitMQHelper.Send<JObject>("Camera_PlayBlack", param);
//消費
bus.Receive<JObject>("Camera_PlayBlack", a =>
{
Console.WriteLine(a);
});