diff --git a/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/WorkflowInstanceDesigner.razor.cs b/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/WorkflowInstanceDesigner.razor.cs index ab8640eaf..ed4cb703b 100644 --- a/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/WorkflowInstanceDesigner.razor.cs +++ b/src/modules/Elsa.Studio.Workflows/Components/WorkflowInstanceViewer/Components/WorkflowInstanceDesigner.razor.cs @@ -313,17 +313,24 @@ private async Task UpdatePropertiesPaneHeightAsync() private async Task RefreshSelectedItemAsync(string activityExecutionRecordId) { - if (LastActivityExecution != null) + try { - _activityExecutionRecordsLookup.Remove(LastActivityExecution.ActivityNodeId); - SelectedActivityExecutions = await GetActivityExecutionRecordsAsync(LastActivityExecution.ActivityNodeId); - } + if (LastActivityExecution != null) + { + _activityExecutionRecordsLookup.Remove(LastActivityExecution.ActivityNodeId); + SelectedActivityExecutions = await GetActivityExecutionRecordsAsync(LastActivityExecution.ActivityNodeId); + } - await InvokeAsync(() => + await InvokeAsync(() => + { + StateHasChanged(); + _activityDetailsTab?.Refresh(); + }); + } + catch (ObjectDisposedException) { - StateHasChanged(); - _activityDetailsTab?.Refresh(); - }); + await StopRefreshActivityStatePeriodically(); + } } private void RefreshActivityStatePeriodically(string activityExecutionRecordId) @@ -419,4 +426,4 @@ async ValueTask IAsyncDisposable.DisposeAsync() if (_refreshTimer != null) await _refreshTimer.DisposeAsync(); } -} \ No newline at end of file +}