DataServiceContext.BeginSaveChanges 方法 (SaveChangesOptions, AsyncCallback, Object)
以异步方式向数据服务提交自上次保存更改以来,由 DataServiceContext 收集的挂起更改。
命名空间: System.Data.Services.Client
程序集: Microsoft.Data.Services.Client(在 Microsoft.Data.Services.Client.dll 中)
语法
声明
Public Function BeginSaveChanges ( _
options As SaveChangesOptions, _
callback As AsyncCallback, _
state As Object _
) As IAsyncResult
用法
Dim instance As DataServiceContext
Dim options As SaveChangesOptions
Dim callback As AsyncCallback
Dim state As Object
Dim returnValue As IAsyncResult
returnValue = instance.BeginSaveChanges(options, _
callback, state)
public IAsyncResult BeginSaveChanges(
SaveChangesOptions options,
AsyncCallback callback,
Object state
)
public:
IAsyncResult^ BeginSaveChanges(
SaveChangesOptions options,
AsyncCallback^ callback,
Object^ state
)
member BeginSaveChanges :
options:SaveChangesOptions *
callback:AsyncCallback *
state:Object -> IAsyncResult
public function BeginSaveChanges(
options : SaveChangesOptions,
callback : AsyncCallback,
state : Object
) : IAsyncResult
参数
- options
类型:System.Data.Services.Client.SaveChangesOptions
客户端保存挂起的更改集的方式选项。
- callback
类型:System.AsyncCallback
完成操作时要调用的委托。
- state
类型:System.Object
用户定义的状态对象,用于将上下文数据传递给回调方法。
返回值
类型:System.IAsyncResult
表示异步操作状态的 IAsyncResult。
注释
通过调用 AddObject、AddLink、AttachTo、AttachLink、DeleteObject、DeleteLink、Detach 或 DetachLink,将更改添加到 DataServiceContext。
如果已设置 Batch 属性,则所有挂起的更改都将包括在批处理的单个更改集中,并将在单个 HTTP 请求中提交到数据服务。 这要求目标服务支持批处理。
未设置 Batch 时:
采用 SaveChanges() 之类的方法将更改发送到数据服务:一个 HTTP 请求一个操作。
StatusCode 始终为 200。
Headers 属性会返回空集合。
已设置 ContinueOnError 时:
如果在处理更改集中的某个操作时出错,则不会尝试处理该更改集中的后续操作;然而,数据服务将继续处理批处理中的下一个更改集。
已设置 Batch 的情况下无法设置此选项,因为启用批处理时,所有操作都将放置在单个更改集中。
未设置 ContinueOnError 时:
- 如果在处理操作时出错,则数据服务将不处理任何附加操作,
而是改为生成响应,告知客户端已执行的操作、操作结果以及因错误而未尝试的操作。