Aracılığıyla paylaş


AspNetCompatibilityRequirementsMode Sabit listesi

Tanım

bir Windows Communication Foundation (WCF) hizmetinin ASP.NET uyumlu bir modda çalıştırılıp çalıştırılamayacağını belirtir.

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

Alanlar

Allowed 1

WCF hizmetleri, ASP.NET uyumluluk modu veya falseolarak ayarlanmış true bir uygulama etki alanında çalışabilir.

NotAllowed 0

WCF hizmetleri, ASP.NET uyumluluk modu olarak ayarlanmış falsebir uygulama etki alanında çalıştırılmalıdır.

Required 2

WCF hizmetleri, ASP.NET uyumluluk modu olarak ayarlanmış truebir uygulama etki alanında çalıştırılmalıdır.

Örnekler

Hizmet geliştiricileri, aşağıdaki örnekte gösterildiği gibi özelliğini Requiredolarak ayarlayarak AspNetCompatibilityRequirementsAttribute.RequirementsMode yalnızca ASP.NET Uyumluluk Modu'nda çalıştırıldığından emin olabilir:

[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

Açıklamalar

ASP.NET uyumluluk modu, WCF hizmetlerinin kimlik kimliğine bürünme gibi ASP özelliklerini kullanmasına olanak tanır. Web.config dosyası aracılığıyla uygulama düzeyinde etkinleştirilir ve uygulamada iç içe geçmiş Web.config dosyalar tarafından geçersiz kılınamaz. AspNetCompatibilityRequirementsMode Bir hizmet için değer belirtilmediğinde, varsayılan değer şeklindedirAllowed. Daha fazla bilgi için bkz <. serviceHostingEnvironment>.

Şunlara uygulanır