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