@@ -21,26 +21,29 @@ internal partial class CircuitPersistenceManager(
21
21
{
22
22
public async Task PauseCircuitAsync ( CircuitHost circuit , bool saveStateToClient = false , CancellationToken cancellation = default )
23
23
{
24
- var renderer = circuit . Renderer ;
25
- var persistenceManager = circuit . Services . GetRequiredService < ComponentStatePersistenceManager > ( ) ;
26
- var collector = new CircuitPersistenceManagerCollector ( circuitOptions , serverComponentSerializer , circuit . Renderer ) ;
27
- using var subscription = persistenceManager . State . RegisterOnPersisting (
28
- collector . PersistRootComponents ,
29
- RenderMode . InteractiveServer ) ;
24
+ await circuit . Renderer . Dispatcher . InvokeAsync ( async ( ) =>
25
+ {
26
+ var renderer = circuit . Renderer ;
27
+ var persistenceManager = circuit . Services . GetRequiredService < ComponentStatePersistenceManager > ( ) ;
28
+ var collector = new CircuitPersistenceManagerCollector ( circuitOptions , serverComponentSerializer , circuit . Renderer ) ;
29
+ using var subscription = persistenceManager . State . RegisterOnPersisting (
30
+ collector . PersistRootComponents ,
31
+ RenderMode . InteractiveServer ) ;
30
32
31
- await persistenceManager . PersistStateAsync ( collector , renderer ) ;
33
+ await persistenceManager . PersistStateAsync ( collector , renderer ) ;
32
34
33
- if ( saveStateToClient )
34
- {
35
- await SaveStateToClient ( circuit , collector . PersistedCircuitState , cancellation ) ;
36
- }
37
- else
38
- {
39
- await circuitPersistenceProvider . PersistCircuitAsync (
40
- circuit . CircuitId ,
41
- collector . PersistedCircuitState ,
42
- cancellation ) ;
43
- }
35
+ if ( saveStateToClient )
36
+ {
37
+ await SaveStateToClient ( circuit , collector . PersistedCircuitState , cancellation ) ;
38
+ }
39
+ else
40
+ {
41
+ await circuitPersistenceProvider . PersistCircuitAsync (
42
+ circuit . CircuitId ,
43
+ collector . PersistedCircuitState ,
44
+ cancellation ) ;
45
+ }
46
+ } ) ;
44
47
}
45
48
46
49
internal async Task SaveStateToClient ( CircuitHost circuit , PersistedCircuitState state , CancellationToken cancellation = default )
0 commit comments