diff --git a/src/DotNetCore.CAP/Abstractions/CapPublisherBase.cs b/src/DotNetCore.CAP/Abstractions/CapPublisherBase.cs index 70f1d54..8018c37 100644 --- a/src/DotNetCore.CAP/Abstractions/CapPublisherBase.cs +++ b/src/DotNetCore.CAP/Abstractions/CapPublisherBase.cs @@ -68,10 +68,18 @@ namespace DotNetCore.CAP.Abstractions protected virtual string Serialize(T obj, string callbackName = null) { - var serializer = (IContentSerializer)ServiceProvider.GetService(typeof(IContentSerializer)); var packer = (IMessagePacker)ServiceProvider.GetService(typeof(IMessagePacker)); - var content = serializer.Serialize(obj); + string content = string.Empty; + if (Helper.IsComplexType(obj.GetType())) + { + var serializer = (IContentSerializer)ServiceProvider.GetService(typeof(IContentSerializer)); + content = serializer.Serialize(obj); + } + else + { + content = obj?.ToString(); + } var message = new CapMessageDto(content) {