SqlCeReplication.BeginSynchronize Method (AsyncCallback, Object)
Inicia una sincronización de datos asincrónicos. Cuando finaliza la sincronización, se llama a los delegados AsyncCallback. Durante la sincronización no se generan informes de estado.
Espacio de nombres: System.Data.SqlServerCe
Ensamblado: System.Data.SqlServerCe (en system.data.sqlserverce.dll)
Sintaxis
'Declaración
Public Function BeginSynchronize ( _
onSyncCompletion As AsyncCallback, _
state As Object _
) As IAsyncResult
public IAsyncResult BeginSynchronize (
AsyncCallback onSyncCompletion,
Object state
)
public:
IAsyncResult^ BeginSynchronize (
AsyncCallback^ onSyncCompletion,
Object^ state
)
public IAsyncResult BeginSynchronize (
AsyncCallback onSyncCompletion,
Object state
)
public function BeginSynchronize (
onSyncCompletion : AsyncCallback,
state : Object
) : IAsyncResult
Parámetros
- onSyncCompletion
Los delegados IAsyncResult implementados por el llamador y a los que se llama al final de la sincronización.
- state
Un objeto definido por el usuario que devuelve la propiedad AsyncState.
Valor devuelto
La interfaz IAsyncResult correspondiente a la operación asincrónica iniciada al llamar a esta función. Puede utilizar esta interfaz para comprobar la correcta finalización o bien esperar hasta que acabe la sincronización.
Notas
Para obtener información sobre la sincronización de datos asincrónicos en SQL Server Compact 3.5, vea "Asynchronous Data Synchronization" (Sincronización de datos asincrónicos) en los libros en pantalla de SQL Server Compact 3.5.
Ejemplo
En el ejemplo siguiente se muestra la forma de configurar una replicación de SQL Server Compact 3.5 para realizar la sincronización de datos asincrónicos.
Public Sub SyncCompletedCallback(ByVal ar As IAsyncResult)
Try
Dim repl As SqlCeReplication = CType(ar.AsyncState, SqlCeReplication)
' Complete the asynchronous sync and test for errors
'
repl.EndSynchronize(ar)
Catch
' Handle errors here
'
End Try
End Sub 'SyncCompletedCallback
Public Sub Test()
Dim repl As SqlCeReplication = Nothing
Try
' Set the Replication object
'
'NOTE: when possible, prompt users to enter security
'credentials at runtime. If you store credentials in a file,
'you must secure the file to prevent unauthorized access.
'
repl = New SqlCeReplication( _
"https://www.adventure-works.com/sqlmobile/sqlcesa35.dll", _
"MyInternetLogin", _
"<enterStrongPassword>", _
"MyPublisher", _
"MyPublisherDatabase", _
"MyPublisherLogin", _
"<enterStrongPassword>", _
"MyPublication", _
"MySubscriber", _
"Data Source=MyDatabase.sdf")
' Begin asynchronous sync; This call returns immediately
'
Dim ar As IAsyncResult = repl.BeginSynchronize( _
New AsyncCallback(AddressOf SyncCompletedCallback), _
repl)
Thread.Sleep(3000)
' Cancel the sync if it didn't complete in 3 seconds; normally,
' this is hooked up to a button's Click event
'
repl.CancelSynchronize()
Catch
' Handle errors here
Finally
' Dispose the repl object
'
repl.Dispose()
End Try
End Sub 'Test
public void SyncCompletedCallback(IAsyncResult ar)
{
try
{
SqlCeReplication repl = (SqlCeReplication)ar.AsyncState;
// Complete the asynchronous sync and test for errors
//
repl.EndSynchronize(ar);
}
catch (SqlCeException)
{
// Handle errors here
//
}
}
public void Test()
{
SqlCeReplication repl = null;
try
{
// Set the Replication object
//
//NOTE: when possible, prompt users to enter security
//credentials at runtime. If you store credentials in a file,
//you must secure the file to prevent unauthorized access.
//
repl = new SqlCeReplication(
"https://www.adventure-works.com/sqlmobile/sqlcesa35.dll",
"MyInternetLogin",
"<enterStrongPassword>",
"MyPublisher",
"MyPublisherDatabase",
"MyPublisherLogin",
"<enterStrongPassword>",
"MyPublication",
"MySubscriber",
"Data Source=MyDatabase.sdf");
// Begin asynchronous sync; This call returns immediately
//
IAsyncResult ar = repl.BeginSynchronize(
new AsyncCallback(SyncCompletedCallback),
repl);
Thread.Sleep(3000);
// Cancel the sync if it didn't complete in 3 seconds; normally,
// this is hooked up to a button's Click event
//
repl.CancelSynchronize();
}
catch (SqlCeException)
{
// Handle errors here
}
finally
{
// Dispose the repl object
//
repl.Dispose();
}
}
Seguridad para subprocesos
Todos los miembros (Compartidos en Microsoft Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.
Plataformas
Plataformas de desarrollo
Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Información de la versión
.NET Framework y NET Compact Framework
Se admite en 3.5
.NET Framework
Se admite en 3.0
.NET Compact Framework y .Net Framework
Se admite en 2.0
Vea también
Referencia
SqlCeReplication Class
SqlCeReplication Members
System.Data.SqlServerCe Namespace