From 52466642ab879780f6d6b0019155f3db237893b2 Mon Sep 17 00:00:00 2001 From: Behzad Alizadeh Date: Wed, 10 Dec 2025 11:01:15 +0330 Subject: [PATCH] Handle null EventData in PublishEventAsync --- .../Services/WorkflowService.cs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/apps/Caspian.WorkflowFramework/Services/WorkflowService.cs b/src/apps/Caspian.WorkflowFramework/Services/WorkflowService.cs index de8e96e..2001258 100644 --- a/src/apps/Caspian.WorkflowFramework/Services/WorkflowService.cs +++ b/src/apps/Caspian.WorkflowFramework/Services/WorkflowService.cs @@ -4,6 +4,7 @@ using System.Diagnostics; using System.Dynamic; using System.Linq; using System.Text; +using System.Text.Json; using System.Threading.Tasks; using Azure; using Caspian.WorkflowFramework.Contracts; @@ -168,15 +169,21 @@ public class WorkflowService : IWorkflowService, ILoggable return response; } - var json = input.EventData.GetRawText(); + dynamic payload = null; - var settings = new JsonSerializerSettings + if (input.EventData.ValueKind != JsonValueKind.Undefined && + input.EventData.ValueKind != JsonValueKind.Null) { - Converters = { new ExpandoObjectConverter() } - }; + var json = input.EventData.GetRawText(); - // تبدیل JSON به object داینامیک - dynamic payload = JsonConvert.DeserializeObject(json, settings); + var settings = new JsonSerializerSettings + { + Converters = { new ExpandoObjectConverter() } + }; + + // تبدیل JSON به object داینامیک + payload = JsonConvert.DeserializeObject(json, settings); + } //await _eventPublisher.PublishAsync(input.EventName, null, input.WorkflowInstanceId, null, input.EventData, asynchronous: true); await _eventPublisher.PublishAsync(input.EventName, null, input.WorkflowInstanceId, null, payload);