AspNetCompatibilityRequirementsMode Enum

Definitie

Hiermee geeft u op of een Windows Communication Foundation (WCF)-service wordt uitgevoerd of kan worden uitgevoerd in een modus die compatibel is met ASP.NET.

public enum class AspNetCompatibilityRequirementsMode
public enum AspNetCompatibilityRequirementsMode
type AspNetCompatibilityRequirementsMode = 
Public Enum AspNetCompatibilityRequirementsMode
Overname
AspNetCompatibilityRequirementsMode

Velden

Name Waarde Description
NotAllowed 0

WCF-services moeten worden uitgevoerd in een toepassingsdomein met ASP.NET compatibiliteitsmodus ingesteld op false.

Allowed 1

WCF-services kunnen worden uitgevoerd in een toepassingsdomein met ASP.NET compatibiliteitsmodus ingesteld op true of false.

Required 2

WCF-services moeten worden uitgevoerd in een toepassingsdomein met ASP.NET compatibiliteitsmodus ingesteld op true.

Voorbeelden

Serviceontwikkelaars kunnen ervoor zorgen dat hun service alleen wordt uitgevoerd in ASP.NET compatibiliteitsmodus door de eigenschap AspNetCompatibilityRequirementsAttribute.RequirementsMode in te stellen op Required, zoals wordt weergegeven in het volgende voorbeeld:

[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();
}
<ServiceContract(Namespace:="http://Microsoft.ServiceModel.Samples")> _
Public Interface ICalculatorSession

    <OperationContract()> _
    Sub Clear()
    <OperationContract()> _
    Sub AddTo(ByVal n As Double)
    <OperationContract()> _
    Sub SubtractFrom(ByVal n As Double)
    <OperationContract()> _
    Sub MultiplyBy(ByVal n As Double)
    <OperationContract()> _
    Sub DivideBy(ByVal n As Double)
    <OperationContract()> _
    Function Equal() As Double
End Interface
[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;
    }
}
    <AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Required)> _
    Public Class CalculatorService
        Implements ICalculatorSession

        Property Result() As Double
            ' Store result in AspNet Session.
            Get
                If (HttpContext.Current.Session("Result") Is Nothing) Then
                    Return 0D
                End If
                Return HttpContext.Current.Session("Result")
            End Get
            Set(ByVal value As Double)
                HttpContext.Current.Session("Result") = value
            End Set
        End Property

        Public Sub Clear() _
 Implements ICalculatorSession.Clear
            Result = 0D
        End Sub

        Public Sub AddTo(ByVal n As Double) _
Implements ICalculatorSession.AddTo
            Result += n
        End Sub

        Public Sub SubtractFrom(ByVal n As Double) _
Implements ICalculatorSession.SubtractFrom

            Result -= n
        End Sub

        Public Sub MultiplyBy(ByVal n As Double) _
Implements ICalculatorSession.MultiplyBy

            Result *= n
        End Sub

        Public Sub DivideBy(ByVal n As Double) _
Implements ICalculatorSession.DivideBy

            Result /= n
        End Sub

        Public Function Equal() As Double _
Implements ICalculatorSession.Equal

            Return Result
        End Function
    End Class

Opmerkingen

met ASP.NET compatibiliteitsmodus kunnen WCF-services ASP-functies gebruiken, zoals identiteitsimitatie. Het is ingeschakeld op toepassingsniveau via het Web.config-bestand en kan niet worden overschreven door Web.config bestanden die in de toepassing zijn genest. Wanneer de AspNetCompatibilityRequirementsMode waarde niet is opgegeven voor een service, is de standaardwaarde Allowed. Zie <serviceHostingEnvironment> voor meer informatie.

Van toepassing op