Compensator.AbortRecord 方法

在中断阶段期间将日志记录传递到补偿资源管理器 (CRM) 补偿器。

**命名空间:**System.EnterpriseServices.CompensatingResourceManager
**程序集:**System.EnterpriseServices(在 system.enterpriseservices.dll 中)

语法

声明
Public Overridable Function AbortRecord ( _
    rec As LogRecord _
) As Boolean
用法
Dim instance As Compensator
Dim rec As LogRecord
Dim returnValue As Boolean

returnValue = instance.AbortRecord(rec)
public virtual bool AbortRecord (
    LogRecord rec
)
public:
virtual bool AbortRecord (
    LogRecord^ rec
)
public boolean AbortRecord (
    LogRecord rec
)
public function AbortRecord (
    rec : LogRecord
) : boolean

参数

  • rec
    要传递的日志记录。

返回值

如果应忘记传递的记录,为 true;否则为 false

示例

下面的代码示例演示如何实现此方法。

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

.NET Framework 安全性

  • 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见。

平台

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 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

Compensator 类
Compensator 成员
System.EnterpriseServices.CompensatingResourceManager 命名空间