AspNetCompatibilityRequirementsMode Énumération

Définition

Spécifie si un service Windows Communication Foundation (WCF) s’exécute, ou peut s’exécuter, dans un mode compatible avec ASP.NET.

C#
public enum AspNetCompatibilityRequirementsMode
Héritage
AspNetCompatibilityRequirementsMode

Champs

Allowed 1

Les services WCF peuvent s’exécuter dans un domaine d’application avec ASP.NET mode de compatibilité défini true sur ou false.

NotAllowed 0

Les services WCF doivent s’exécuter dans un domaine d’application avec ASP.NET mode de compatibilité défini sur false.

Required 2

Les services WCF doivent s’exécuter dans un domaine d’application avec ASP.NET mode de compatibilité défini sur true.

Exemples

Les développeurs de services peuvent s’assurer que leur service est exécuté uniquement en mode de compatibilité ASP.NET en définissant la AspNetCompatibilityRequirementsAttribute.RequirementsMode propriété Requiredsur , comme indiqué dans l’exemple suivant :

C#
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
public interface ICalculatorSession
{
    [OperationContract]
    void Clear();
    [OperationContract]
    void AddTo(double n);
    [OperationContract]
    void SubtractFrom(double n);
    [OperationContract]
    void MultiplyBy(double n);
    [OperationContract]
    void DivideBy(double n);
    [OperationContract]
    double Equals();
}
C#
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class CalculatorService : ICalculatorSession
{
    double result
    {   // Store result in AspNet session.
        get
        {
            if (HttpContext.Current.Session["Result"] != null)
                return (double)HttpContext.Current.Session["Result"];
            return 0.0D;
        }
        set
        {
            HttpContext.Current.Session["Result"] = value;
        }
    }

    public void Clear()
    {
    }

    public void AddTo(double n)
    {
        result += n;
    }

    public void SubtractFrom(double n)
    {
        result -= n;
    }

    public void MultiplyBy(double n)
    {
        result *= n;
    }

    public void DivideBy(double n)
    {
        result /= n;
    }

    public double Equals()
    {
        return result;
    }
}

Remarques

ASP.NET mode de compatibilité permet aux services WCF d’utiliser des fonctionnalités ASP telles que l’emprunt d’identité. Il est activé au niveau application via le fichier Web.config et ne peut pas être substitué par des fichiers Web.config imbriqués dans l'application. Lorsque la AspNetCompatibilityRequirementsMode valeur n’est pas spécifiée pour un service, la valeur par défaut est Allowed. Pour plus d’informations, consultez <serviceHostingEnvironment>.

S’applique à

Produit Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8