Ejemplo n.º 1
0
 /// <summary>
 /// Returns the next committed record in the application log and then marks
 /// if for deletion if there is one.  The method returns null if there
 /// are no records remaining to be read.
 /// </summary>
 /// <returns>The next log record or <c>null</c>.</returns>
 /// <remarks>
 /// <para>
 /// Records marked for deletion will be skipped the next time
 /// a log reader processes the log and if all of the records in
 /// a given log file are deleted, then the log file itself will
 /// be deleted.
 /// </para>
 /// <para>
 /// Note that this method returns only committed log records.  Records written
 /// by the writer logs will be cached for some period of time before being
 /// commited to the log (for efficiency).  Cached records will not be returned
 /// by this method.
 /// </para>
 /// <para>
 /// After this method indicates that it has run out of committed records to be read
 /// (by returning null), applications should monitor the <see cref="AppLog.RecordAvailable" />
 /// event.  This event will be raised when one or more committed events become available to
 /// be read.
 /// </para>
 /// </remarks>
 /// <exception cref="LogAccessException">Thrown for log writers.</exception>
 public AppLogRecord ReadDelete()
 {
     return(appLog.ReadDelete());
 }