Ejemplo de tecnología de transacciones

Actualización: noviembre 2007

En este ejemplo se muestra cómo utilizar transacciones en una aplicación de .NET Framework. Ilustra específicamente las funciones "confirmar" y "anular" de las transacciones al recuperar un valor de una base de datos de SQL Server, lo que permite al usuario modificar el valor y enviar el nuevo valor a la base de datos.

Nota:

Para generar y ejecutar este ejemplo, debe tener instalado Microsoft SQL Server 2000 o superior en su PC, y el motor de la base de datos debe estar configurado para utilizar la autenticación de Windows. Otras configuraciones requieren modificar la cadena de conexión SQL en el archivo TxObj.cs o TxObj.vb.

Para obtener información sobre el uso de los ejemplos, vea los siguientes temas:

Para crear la base de datos TxDemoDB

  1. Abra una ventana del símbolo del sistema y desplácese a uno de los subdirectorios específicos del lenguaje bajo el directorio Technologies\ComponentServices\Transactions.

  2. Escriba osql -E -S (local)\SQLExpress -i TxDB.sql en la línea de comandos. Otra opción es abrir la ventana de Analizador de consultas de SQL Server, cargue TxDB.sql y seleccione Ejecutar.

    Esta acción crea una nueva base de datos TxDemoDB en su SQL Server.

Para generar el ejemplo desde el símbolo del sistema

  1. Abra una ventana del símbolo del sistema y desplácese a uno de los subdirectorios específicos del lenguaje bajo el directorio Technologies\ComponentServices\Transactions, o utilice la misma ventana de comandos que utilizó al crear la base de datos TxDemoDB anteriormente.

  2. Escriba msbuild TransactionsCS.sln o msbuild TransactionsVB.sln, dependiendo del lenguaje de programación elegido, en la línea de comandos.

Para generar el ejemplo mediante Visual Studio

  1. Abra el Explorador de Windows y desplácese a uno de los subdirectorios específicos del lenguaje para tener acceso al ejemplo.

  2. Haga doble clic en el icono de TransactionsCS.sln o TransactionsVB.sln, dependiendo del lenguaje de programación elegido, para abrir el archivo en Visual Studio.

  3. En el menú Generar, haga clic en Generar solución.

Para ejecutar el ejemplo

  1. Abra la ventana del símbolo del sistema o el Explorador de Windows y desplácese al directorio que contiene el nuevo archivo ejecutable generado.

  2. Escriba TxDemo.exe en la línea de comandos o haga doble clic en el icono del archivo ejecutable en el Explorador de Windows.

  3. El valor actual se lee de la base de datos y se muestra.

  4. Introduzca un número igual o mayor que 0 y menor o igual a 10 en el campo Valor nuevo, y haga clic en el botón Exponer.

  5. Deberá aparecer el mensaje "A punto de realizar la transacción". Haga clic en Aceptar. El campo Valor actual se actualizará con el valor especificado.

  6. Introduzca un número menor que 0 o mayor que 10 en el campo Valor nuevo. Haga clic en el botón Exponer.

  7. Deberá aparecer el mensaje "A punto de anular la transacción porque el nuevo valor ([yourvalue]) es <0 o >10". Haga clic en Aceptar. Observe que el campo Valor actual no cambia. Esto se debe a que durante la transacción el valor actual cambió, pero al deshacer la transacción, el valor se volvió a cambiar recuperando su valor original.

  8. Ahora pruebe los mismos datos con el botón Exponer automáticamente. Observará que cuando la demostración anula la transacción se muestra una COMException. De este modo, se notifica a Autocomplete que anule la operación.

Para desinstalar el ejemplo

  1. En la ventana del símbolo del sistema, desplácese al directorio donde ejecutó msbuild.exe o donde abrió el archivo .sln.

  2. Escriba msbuild.exe TransactionsVB.vbproj /t:Clean o msbuild.exe TransactionsCS.csproj/t:Clean, en función del lenguaje de programación seleccionado. Esta acción llama a regsvcs.exe y a gacutil.exe con el modificador /u para eliminar los archivos de ejemplo del catálogo COM+ y de la caché de ensamblados global.

  3. Escriba osql -E -S (local)\SQLExpress -i TxDBClean.sql en la línea de comandos. Otra opción es abrir la ventana del Analizador de consultas de SQL Server, cargue el archivo TxDBClean.sql y elija Ejecutar. Esta acción elimina la base de datos TXDemoDB de su SQL Server.

Requisitos

Versión de .NET Framework: 2.0, 1.1, 1.0

Comentarios

Una transacción es un conjunto de operaciones vinculadas. Se realizarán todas o ninguna de estas operaciones. Si falla una de las operaciones de la transacción, todas las operaciones anteriores deben deshacerse para garantizar que no se produzca ninguna inconsistencia.

Para obtener más información sobre la creación binaria de ejemplo y los pasos del registro, vea los comentarios en los archivos de código fuente. En la herramienta administrativa Servicios de componente, el componente C# aparece como TxDemoServerCS.TxObject. La versión de VB aparece como TxDemoServerVB.TxObject.

Vea también

Conceptos

Transacciones locales (ADO.NET)

Referencia

AutoCompleteAttribute

ContextUtil

ServicedComponent

System.ComponentModel

System.Data

System.Data.SqlClient

System.Drawing

System.EnterpriseServices

System.Reflection

System.Runtime.InteropServices

System.Runtime.Serialization

System.Windows.Forms

TransactionAttribute

TransactionOption

WebMethodAttribute