Esta documentación está archivada y no tiene mantenimiento.

WebMethodAttribute (Constructor) (Boolean, TransactionOption)

Actualización: noviembre 2007

Inicializa una nueva instancia de la clase WebMethodAttribute.

Espacio de nombres:  System.Web.Services
Ensamblado:  System.Web.Services (en System.Web.Services.dll)

public WebMethodAttribute(
	bool enableSession,
	TransactionOption transactionOption
)
public WebMethodAttribute(
	boolean enableSession,
	TransactionOption transactionOption
)
public function WebMethodAttribute(
	enableSession : boolean, 
	transactionOption : TransactionOption
)

Parámetros

enableSession
Tipo: System.Boolean
Indica si se habilitó el estado de la sesión para el método de servicios Web XML.
transactionOption
Tipo: System.EnterpriseServices.TransactionOption
Inicializa la compatibilidad con transacciones de un método de servicios Web XML.

Una llamada al servicio Web puede ser sólo la raíz de una transacción, debido a la naturaleza carente de estado del protocolo HTTP. Esto significa que las dos configuraciones siguientes son equivalentes y cada llamada crea una nueva transacción:

[WebMethod(TransactionOption = TransactionOption.Required)]
[WebMethod(TransactionOption = TransactionOption.RequiresNew)]

También significa que todas las configuraciones siguientes son equivalentes, lo que significa que no hay ninguna compatibilidad con transacciones:

[WebMethod] // TransactionOption.Disabled is the default
[WebMethod(TransactionOption = TransactionOption.Disabled)]
[WebMethod(TransactionOption = Transaction.NotSupported)]
[WebMethod(TransactionOption = Transaction.Supported)]

<%@ WebService Language="C#" Class="Bank"%>
<%@ assembly name="System.EnterpriseServices,Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" %>

using System;
using System.Web.Services;
using System.EnterpriseServices;

public class Bank : WebService 
{

    [ WebMethod(true,TransactionOption.RequiresNew) ]
    public void Transfer(long Amount, long AcctNumberTo, long AcctNumberFrom)  
    { 
        MyCOMObject objBank = new MyCOMObject();

        if (objBank.GetBalance(AcctNumberFrom) < Amount )
            // Explicitly end the transaction.
            ContextUtil.SetAbort();
        else 
        {
            // The Credit and Debit methods explictly determine, in their
            // own code, whether to commit or end the transaction.
            objBank.Credit(Amount, AcctNumberTo);
            objBank.Debit(Amount, AcctNumberFrom);
        }
    }
}



Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
Mostrar: