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
- options
Tipo: System.Data.Services.Client.SaveChangesOptions
Opciones sobre cómo el cliente puede guardar el conjunto pendiente de cambios.
- 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.