Beispiel #1
0
        // This is only called from ApplicationProxyInternal.GetSaveHistoryBytes when
        // we are persisting the entire journal; we only do that when we're quitting.
        // [new] Also when navigating a Frame that has its own journal.
        //


        internal void PruneKeepAliveEntries()
        {
            for (int i = TotalCount - 1; i >= 0; --i)
            {
                JournalEntry je = _journalEntryList[i];
                if (je.IsAlive())
                {
                    RemoveEntryInternal(i);
                }
                else
                {
                    Debug.Assert(je.GetType().IsSerializable);
                    // There can be keep-alive JEs creates for child frames.
                    DataStreams jds = je.JEGroupState.JournalDataStreams;
                    if (jds != null)
                    {
                        jds.PrepareForSerialization();
                    }

                    if (je.RootViewerState != null)
                    {
                        je.RootViewerState.PrepareForSerialization();
                    }
                }
            }
        }
Beispiel #2
0
 // Token: 0x060028E1 RID: 10465 RVA: 0x000BD7C4 File Offset: 0x000BB9C4
 internal void PruneKeepAliveEntries()
 {
     for (int i = this.TotalCount - 1; i >= 0; i--)
     {
         JournalEntry journalEntry = this._journalEntryList[i];
         if (journalEntry.IsAlive())
         {
             this.RemoveEntryInternal(i);
         }
         else
         {
             DataStreams journalDataStreams = journalEntry.JEGroupState.JournalDataStreams;
             if (journalDataStreams != null)
             {
                 journalDataStreams.PrepareForSerialization();
             }
             if (journalEntry.RootViewerState != null)
             {
                 journalEntry.RootViewerState.PrepareForSerialization();
             }
         }
     }
 }