BufferedWebEventProvider.ProcessEventFlush(WebEventBufferFlushInfo) Metodo

Definizione

Processa gli eventi inseriti nel buffer.

public:
 abstract void ProcessEventFlush(System::Web::Management::WebEventBufferFlushInfo ^ flushInfo);
public abstract void ProcessEventFlush (System.Web.Management.WebEventBufferFlushInfo flushInfo);
abstract member ProcessEventFlush : System.Web.Management.WebEventBufferFlushInfo -> unit
Public MustOverride Sub ProcessEventFlush (flushInfo As WebEventBufferFlushInfo)

Parametri

flushInfo
WebEventBufferFlushInfo

WebEventBufferFlushInfo che contiene informazioni sull'utilizzo del buffer.

Esempio

Nell'esempio di codice seguente viene illustrato come implementare il metodo ProcessEventFlush.


// Processes the messages that have been buffered.
// It is called by the ASP.NET when the flushing of 
// the buffer is required.
public override void ProcessEventFlush(
    WebEventBufferFlushInfo flushInfo)
{

    // Customize event information to be sent to 
    // the Windows Event Viewer Application Log.
    customInfo.AppendLine(
        "SampleEventLogWebEventProvider buffer flush.");

    customInfo.AppendLine(
        string.Format("NotificationType: {0}",
        GetNotificationType(flushInfo)));

    customInfo.AppendLine(
        string.Format("EventsInBuffer: {0}",
        GetEventsInBuffer(flushInfo)));

    customInfo.AppendLine(
        string.Format(
        "EventsDiscardedSinceLastNotification: {0}",
        GetEventsDiscardedSinceLastNotification(flushInfo)));

    // Read each buffered event and send it to the
    // Application Log.
    foreach (WebBaseEvent eventRaised in flushInfo.Events)
        customInfo.AppendLine(eventRaised.ToString());

    // Store the information in the specified file.
    StoreToFile(customInfo, logFilePath, FileMode.Append);
}
    ' Processes the messages that have been buffered.
    ' It is called by the ASP.NET when the flushing of 
    ' the buffer is required according to the parameters 
    ' defined in the <bufferModes> element of the 
    ' <healthMonitoring> configuration section.
    Public Overrides Sub ProcessEventFlush(ByVal flushInfo _
    As WebEventBufferFlushInfo)

        ' Customize event information to be sent to 
        ' the Windows Event Viewer Application Log.
        customInfo.AppendLine( _
        "SampleEventLogWebEventProvider buffer flush.")

        customInfo.AppendLine(String.Format( _
        "NotificationType: {0}", _
        GetNotificationType(flushInfo)))

        customInfo.AppendLine(String.Format( _
        "EventsInBuffer: {0}", _
        GetEventsInBuffer(flushInfo)))

        customInfo.AppendLine(String.Format( _
        "EventsDiscardedSinceLastNotification: {0}", _
GetEventsDiscardedSinceLastNotification( _
flushInfo)))

        ' Read each buffered event and send it to the
        ' Application Log.
        Dim eventRaised As WebBaseEvent
        For Each eventRaised In flushInfo.Events
            customInfo.AppendLine(eventRaised.ToString())
        Next eventRaised
        ' Store the information in the specified file.
        StoreToFile(customInfo, logFilePath, _
        FileMode.Append)
    End Sub

Commenti

Il ProcessEventFlush metodo elabora i messaggi memorizzati nel buffer. ASP.NET il monitoraggio dell'integrità chiama il metodo quando è necessario scaricare il buffer. Gli intervalli in cui è richiesto lo scaricamento sono determinati dal valore del parametro dell'attributo bufferMode nell'elemento providers nella healthMonitoring sezione di configurazione.

Si applica a