IRecordSequence.BeginFlush(SequenceNumber, AsyncCallback, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在派生类中重写时,将使用序列中先前保留的空间来开始异步刷新操作。
public:
IAsyncResult ^ BeginFlush(System::IO::Log::SequenceNumber sequenceNumber, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginFlush (System.IO.Log.SequenceNumber sequenceNumber, AsyncCallback callback, object state);
abstract member BeginFlush : System.IO.Log.SequenceNumber * AsyncCallback * obj -> IAsyncResult
Public Function BeginFlush (sequenceNumber As SequenceNumber, callback As AsyncCallback, state As Object) As IAsyncResult
参数
- sequenceNumber
- SequenceNumber
必须写入的最新记录的序列号。 如果此 SequenceNumber 无效,则必须写入所有记录。
- callback
- AsyncCallback
可选的异步回调,在刷新完成时调用。
- state
- Object
用户提供的对象,用于将此特定异步刷新请求与其他请求区别开来。
返回
一个 IAsyncResult,表示可能仍处于挂起状态的异步刷新操作。
例外
一个或多个自变量无效。
刷新数据时,发生了 I/O 错误。
该方法是在序列已释放之后调用的。
注解
应将当前方法返回的 IAsyncResult 传递给 EndFlush 方法,以确保刷新完成并适当释放资源。 如果在异步刷新过程中发生错误,则在使用此方法返回的 EndFlush 调用 IAsyncResult 方法之前,不会引发异常。
调用此方法可以确保已追加到 IRecordSequence 的所有记录都是持久写入的。
如果记录序列已经释放,或者如果传递了无效自变量,此操作内将立即引发异常。 异步刷新请求过程中发生的错误(例如,I/O 请求过程中的磁盘故障)将导致在调用 EndFlush 方法时引发异常。