Compartir a través de


DataServiceContext.BeginSaveChanges Método (SaveChangesOptions, AsyncCallback, Object)

Envía de forma asincrónica los cambios pendientes al servicio de datos recopilados por DataServiceContext desde la última vez que se guardaron los cambios.

Espacio de nombres:  System.Data.Services.Client
Ensamblado:  Microsoft.Data.Services.Client (en Microsoft.Data.Services.Client.dll)

Sintaxis

'Declaración
Public Function BeginSaveChanges ( _
    options As SaveChangesOptions, _
    callback As AsyncCallback, _
    state As Object _
) As IAsyncResult
'Uso
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

Parámetros

  • callback
    Tipo: System.AsyncCallback
    Delegado al que se va a llamar cuando se complete la operación.
  • state
    Tipo: System.Object
    Objeto de estados definido por el usuario que se emplea para pasar datos del contexto al método de devolución de llamada.

Valor devuelto

Tipo: System.IAsyncResult
IAsyncResult que representa el estado de la operación asincrónica.

Comentarios

Los cambios se agregan a DataServiceContext llamando a AddObject, AddLink, AttachTo, AttachLink, DeleteObject, DeleteLink, Detach o DetachLink.

Si se establece Batch, todos los cambios pendientes se incluyen en un único conjunto de cambios en un lote y se envían al servicio de datos en una única solicitud HTTP. Para ello, el servicio de destino debe admitir el procesamiento por lotes.

Si Batch no se ha establecido:

  • Los cambios se envían al servicio de datos como en el método SaveChanges(): una operación por cada solicitud HTTP.

  • StatusCode es siempre 200.

  • La propiedad Headers devuelve una colección vacía.

Si ContinueOnError se ha establecido:

  • Si se produce un error al procesar una operación en un conjunto de cambios, no se intentarán las operaciones subsiguientes del conjunto de cambios; sin embargo, el servicio de datos continuará procesando el siguiente conjunto de cambios del lote.

  • No se puede establecer esta opción cuando se establece Batch porque cuando el procesamiento por lotes está habilitado, todas las operaciones se colocan en un único conjunto de cambios.

Si ContinueOnError no se ha establecido:

  • Si se produce un error al procesar una operación, el servicio de datos no procesa ninguna operación adicional.

Se genera una respuesta que indica al cliente qué operaciones se ejecutaron, sus resultados y qué operaciones no se intentaron debido al error.

Vea también

Referencia

DataServiceContext Clase

Sobrecarga de BeginSaveChanges

Espacio de nombres System.Data.Services.Client