Handle null EventData in PublishEventAsync

This commit is contained in:
Behzad Alizadeh
2025-12-10 11:01:15 +03:30
parent e013953e88
commit 52466642ab
@@ -4,6 +4,7 @@ using System.Diagnostics;
using System.Dynamic; using System.Dynamic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using Azure; using Azure;
using Caspian.WorkflowFramework.Contracts; using Caspian.WorkflowFramework.Contracts;
@@ -168,15 +169,21 @@ public class WorkflowService : IWorkflowService, ILoggable
return response; 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 داینامیک var settings = new JsonSerializerSettings
dynamic payload = JsonConvert.DeserializeObject<ExpandoObject>(json, settings); {
Converters = { new ExpandoObjectConverter() }
};
// تبدیل JSON به object داینامیک
payload = JsonConvert.DeserializeObject<ExpandoObject>(json, settings);
}
//await _eventPublisher.PublishAsync(input.EventName, null, input.WorkflowInstanceId, null, input.EventData, asynchronous: true); //await _eventPublisher.PublishAsync(input.EventName, null, input.WorkflowInstanceId, null, input.EventData, asynchronous: true);
await _eventPublisher.PublishAsync(input.EventName, null, input.WorkflowInstanceId, null, payload); await _eventPublisher.PublishAsync(input.EventName, null, input.WorkflowInstanceId, null, payload);