다음을 통해 공유


AspNetCompatibilityRequirementsMode 열거형

정의

WCF(Windows Communication Foundation) 서비스가 ASP.NET와 호환되는 모드에서 실행되는지 또는 실행될 수 있는지 여부를 지정합니다.

public enum class AspNetCompatibilityRequirementsMode
public enum AspNetCompatibilityRequirementsMode
type AspNetCompatibilityRequirementsMode = 
Public Enum AspNetCompatibilityRequirementsMode
상속
AspNetCompatibilityRequirementsMode

필드

Allowed 1

WCF 서비스는 ASP.NET 호환성 모드가 설정된 true 애플리케이션 도메인에서 실행할 수 있습니다false.

NotAllowed 0

WCF 서비스는 ASP.NET 호환성 모드false가 설정된 애플리케이션 도메인에서 실행되어야 합니다.

Required 2

WCF 서비스는 ASP.NET 호환성 모드true가 설정된 애플리케이션 도메인에서 실행되어야 합니다.

예제

서비스 개발자는 다음 예제와 같이 속성을 로 설정 AspNetCompatibilityRequirementsAttribute.RequirementsMode 하여 해당 서비스가 ASP.NET 호환 모드에서만 실행되도록 할 Required수 있습니다.

[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

설명

ASP.NET 호환 모드를 사용하면 WCF 서비스에서 ID 가장과 같은 ASP 기능을 사용할 수 있습니다. 이 모드는 Web.config 파일을 통해 애플리케이션 수준에서 사용되며 애플리케이션에 중첩된 Web.config 파일에서 재정의할 수 없습니다. AspNetCompatibilityRequirementsMode 서비스에 대해 값을 지정하지 않으면 기본값은 .입니다Allowed. 자세한 내용은 serviceHostingEnvironment를 참조<하세요>.

적용 대상