Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo EventProvider.WriteEvent (EventDescriptor, Object[])

 

Data di pubblicazione: ottobre 2016

Scrive un evento. I dati dell'evento sono specificati come una matrice di oggetti.

Spazio dei nomi:   System.Diagnostics.Eventing
Assembly:  System.Core (in System.Core.dll)

public bool WriteEvent(
	ref EventDescriptor eventDescriptor,
	params object[] eventPayload
)

Parametri

eventDescriptor
Type: System.Diagnostics.Eventing.EventDescriptor

Un'istanza di EventDescriptor che identifica l'evento da scrivere.

eventPayload
Type: System.Object[]

Matrice di oggetti che contengono i dati dell'evento da scrivere. L'oggetto deve essere nell'ordine specificato nel manifesto. La matrice è limitata a 32 oggetti, dei quali solo otto possono essere stringhe. La dimensione massima dei dati per l'evento è limitata a 64 KB esclusa la dimensione delle intestazioni dell'evento. La dimensione dell'evento è minore, se la dimensione del buffer della sessione è minore e la sessione include elementi di dati esteso con l'evento.

Questo parametro può essere null.

Valore restituito

Type: System.Boolean

È true scritte; in caso contrario, se l'evento false. Se false, chiamare il EventProvider.GetLastWriteEventError metodo per determinare la causa dell'errore.

Exception Condition
ArgumentException

Il eventPayload parametro contiene un numero eccessivo di oggetti o stringhe.

Se si chiama il SetActivityId per specificare un identificatore di attività per l'evento, questo metodo recupera l'identificatore dal contesto del thread e include l'evento.

Se il tipo di oggetto non è supportato, il metodo scrive il valore dell'oggetto Object.ToString metodo nel payload. Per un elenco di tipi di oggetto supportati, vedere le note per la EventProvider classe.

private static Guid providerId = new Guid("{FB33FDA8-45FB-4df0-8A55-EEB4BA88E7E7}");

enum Keyword
{
    Read = 0x1,
    Write = 0x2,
    Local = 0x4,
    Remote = 0x8
}

enum Level
{
    Critical = 1,
    Error,
    Warning,
    Information,
    Verbose
}

    EventProvider provider = new EventProvider(providerId);
    EventDescriptor readEvent;
    string path = @"<PATHGOESHERE>";
    UInt64 bytesRead = <ASSIGNVALUE>;

    if (provider.IsEnabled(Level.Information, (long)Keyword.Read))
    {
        unchecked
        {
            readEvent = new EventDescriptor(0x1, 0x0, 0x10, 0x4, 0x0, 0x0, (long)0x8000000000000005);
        }

        if (!provider.WriteEvent(ref readEvent, new object[] { path, bytesRead }))
            Console.WriteLine(EventProvider.GetLastWriteEventError());
    }

    provider.Close();

.NET Framework
Disponibile da 3.5
Torna all'inizio
Mostra: