Compensator.AbortRecord(LogRecord) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在中断阶段期间将日志记录传递到补偿资源管理器 (CRM) 补偿器。
public:
virtual bool AbortRecord(System::EnterpriseServices::CompensatingResourceManager::LogRecord ^ rec);
public virtual bool AbortRecord (System.EnterpriseServices.CompensatingResourceManager.LogRecord rec);
abstract member AbortRecord : System.EnterpriseServices.CompensatingResourceManager.LogRecord -> bool
override this.AbortRecord : System.EnterpriseServices.CompensatingResourceManager.LogRecord -> bool
Public Overridable Function AbortRecord (rec As LogRecord) As Boolean
参数
- rec
- LogRecord
要传递的日志记录。
返回
如果应忘记传递的记录,为 true
;否则为 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 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 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