Freigeben über


LogRecord-Klasse

Stellt einen unstrukturierten Protokolldatensatz dar, der als COM+-CrmLogRecordRead-Struktur übermittelt wird. Diese Klasse kann nicht vererbt werden.

Namespace: System.EnterpriseServices.CompensatingResourceManager
Assembly: System.EnterpriseServices (in system.enterpriseservices.dll)

Syntax

'Declaration
Public NotInheritable Class LogRecord
'Usage
Dim instance As LogRecord
public sealed class LogRecord
public ref class LogRecord sealed
public final class LogRecord
public final class LogRecord

Hinweise

Unstrukturierte Protokolldatensätze werden als COM+-CrmLogRecordRead-Struktur übermittelt. Neben den Benutzerdaten (ein einzelnes BLOB) enthält diese zusätzliche Felder, die nützlich für das Debuggen und die Fehlersuche sind. Das Flags-Feld ist ein Bitfeld, das darüber Aufschluss gibt, ob dieser Datensatz an einer Stelle übergangen und wann er geschrieben wurde. Das Sequence-Feld stellt die Sequenznummer des Protokolldatensatzes bereit. In den meisten Fällen sind Sequenznummern sequenziell. Aufgrund interner Protokolldatensätze, die nicht an den CRM-Kompensator (Compensating Resource Manager) übermittelt werden, ist die Reihenfolge der Sequenznummern jedoch nicht unbedingt lückenlos.

Beispiel

Im folgenden Codebeispiel wird die Verwendung dieser Klasse veranschaulicht.

Public Overrides Function AbortRecord(ByVal log As LogRecord) As Boolean 
    
    ' Check the validity of the record.
    If log Is Nothing Then
        Return True
    End If
    Dim record As [Object]() = log.Record
    
    If record Is Nothing Then
        Return True
    End If
    If record.Length <> 2 Then
        Return True
    End If 
    ' Extract old account data from the record.
    Dim filename As String = CStr(record(0))
    Dim balance As Integer = Fix(record(1))
    
    ' Restore the old state of the account.
    AccountManager.WriteAccountBalance(filename, balance)
    
    Return False

End Function 'AbortRecord
public override bool AbortRecord (LogRecord log)
{

    // Check the validity of the record.
    if (log == null) return(true);
    Object[] record = log.Record as Object[];
    if (record == null) return(true);
    if (record.Length != 2) return(true);

    // Extract old account data from the record.
    string filename = (string) record[0];
    int balance = (int) record[1];
 
    // Restore the old state of the account.
    AccountManager.WriteAccountBalance(filename, balance);

    return(false);
}
public:
    virtual bool AbortRecord(LogRecord^ log) override
    {

        // Check the validity of the record.
        if (log == nullptr)
        {
            return true;
        }
        array<Object^>^ record = dynamic_cast<array<Object^>^>(log->Record);
        if (record == nullptr)
        {
            return true;
        }
        if (record->Length != 2)
        {
            return true;
        }

        // Extract old account data from the record.
        String^ filename = (String^) record[0];
        int balance = (int) record[1];

        // Restore the old state of the account.
        WriteAccountBalance(filename, balance);

        return false;
    }
public boolean AbortRecord(LogRecord log)
{
    // Check the validity of the record.
    if (log == null) {
        return true;
    }
    Object record[] = new Object[] { log.get_Record() };

    if (record == null) {
        return true;
    }
    if (record.get_Length() != 2) {
        return true;
    }
    // Extract old account data from the record.
    String fileName = (String)(record.get_Item(0));
    int balance = System.Convert.ToInt32(record[1]);

    // Restore the old state of the account.
    AccountManager.WriteAccountBalance(fileName, balance);

    return false;
} //AbortRecord

Vererbungshierarchie

System.Object
  System.EnterpriseServices.CompensatingResourceManager.LogRecord

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

LogRecord-Member
System.EnterpriseServices.CompensatingResourceManager-Namespace