Share via


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

参数

  • state
    类型:System.Object
    用户定义的状态对象,用于将上下文数据传递给回调方法。

返回值

类型:System.IAsyncResult
表示异步操作状态的 IAsyncResult

注释

通过调用 AddObjectAddLinkAttachToAttachLinkDeleteObjectDeleteLinkDetachDetachLink,将更改添加到 DataServiceContext

如果已设置 Batch 属性,则所有挂起的更改都将包括在批处理的单个更改集中,并将在单个 HTTP 请求中提交到数据服务。 这要求目标服务支持批处理。

未设置 Batch 时:

  • 采用 SaveChanges() 之类的方法将更改发送到数据服务:一个 HTTP 请求一个操作。

  • StatusCode 始终为 200。

  • Headers 属性会返回空集合。

已设置 ContinueOnError 时:

  • 如果在处理更改集中的某个操作时出错,则不会尝试处理该更改集中的后续操作;然而,数据服务将继续处理批处理中的下一个更改集。

  • 已设置 Batch 的情况下无法设置此选项,因为启用批处理时,所有操作都将放置在单个更改集中。

未设置 ContinueOnError 时:

  • 如果在处理操作时出错,则数据服务将不处理任何附加操作,

而是改为生成响应,告知客户端已执行的操作、操作结果以及因错误而未尝试的操作。

请参阅

参考

DataServiceContext 类

BeginSaveChanges 重载

System.Data.Services.Client 命名空间