AspNetCompatibilityRequirementsAttribute AspNetCompatibilityRequirementsAttribute AspNetCompatibilityRequirementsAttribute AspNetCompatibilityRequirementsAttribute Class

Definicja

Zastosowano do usługi Windows Communication Foundation (WCF), aby wskazać, czy ta usługa może być uruchamiana w kodzie zgodności ASP.NET.Applied to a Windows Communication Foundation (WCF) service to indicate whether that service can be run in ASP.NET compatibility code.

public ref class AspNetCompatibilityRequirementsAttribute sealed : Attribute, System::ServiceModel::Description::IServiceBehavior
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class AspNetCompatibilityRequirementsAttribute : Attribute, System.ServiceModel.Description.IServiceBehavior
type AspNetCompatibilityRequirementsAttribute = class
    inherit Attribute
    interface IServiceBehavior
Public NotInheritable Class AspNetCompatibilityRequirementsAttribute
Inherits Attribute
Implements IServiceBehavior
Dziedziczenie
AspNetCompatibilityRequirementsAttributeAspNetCompatibilityRequirementsAttributeAspNetCompatibilityRequirementsAttributeAspNetCompatibilityRequirementsAttribute
Atrybuty
Implementuje

Przykłady

Deweloperzy usług mogą upewnić się, że ich usługi są uruchamiane tylko w trybie zgodności ASP.NET RequirementsMode przez ustawienie właściwości AspNetCompatibilityRequirementsAttribute na Required , tak jak pokazano w poniższym przykładzie.Service developers can ensure that their service is only run in ASP.NET Compatibility Mode by setting the RequirementsMode property on the AspNetCompatibilityRequirementsAttribute to Required as shown in the following example

[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

Uwagi

Ten atrybut wskazuje, czy w przypadku zastosowania do klasy implementacji usługi, czy obsługuje ASP.NETASP.NET tryb zgodności dla domeny aplikacji hostingu (AppDomain).When applied to a service implementation class, this attribute indicates whether this service requires or supports ASP.NETASP.NET compatibility mode to be enabled for the hosting application domain (AppDomain).

Domeny aplikacji obsługujące usługi WCF mogą działać w dwóch różnych trybach hostingu:AppDomains hosting WCF services can run in two different hosting modes:

  • Tryb mieszanych transportów (domyślnie): W tym trybie usługi WCF nie uczestniczą w ASP.NETASP.NET potoku HTTP.Mixed Transports Mode (Default): In this mode, WCF services do not participate in the ASP.NETASP.NET HTTP pipeline. Gwarantuje to, że usługa WCF działa spójnie, niezależnie od środowiska hostingu i transportu.This guarantees that a WCF service behaves consistently, independent of hosting environment and transport.

  • ASP.NETASP.NETTryb zgodności: W tym trybie usługi WCF uczestniczą w ASP.NETASP.NET potoku HTTP w podobny sposób jak w przypadku usług asmx.Compatibility Mode: In this mode, WCF services participate in the ASP.NETASP.NET HTTP pipeline in a manner similar to ASMX services. ASP.NETASP.NETfunkcje, takie jak autoryzacja plików, UrlAuthorization i stan sesji HTTP, mają zastosowanie do usług WCF działających w tym trybie.features such as File Authorization, UrlAuthorization, and HTTP Session State are applicable to WCF services running in this mode.

Tryb hostingu jest kontrolowany przez flagę aspNetCompatibilityEnabledkonfiguracji poziomu aplikacji.The hosting mode is controlled by the application-level configuration flag aspNetCompatibilityEnabled.

<system.serviceModel>

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

</system.serviceModel>

Ta flaga jest false domyślnie, a w tym przypadku usługi WCF działają w trybie transportów mieszanych, chyba że użytkownik ASP.NETASP.NET jawnie zdecyduje się na tryb zgodności.This flag is false by default and thus WCF services run in the Mixed Transports Mode unless you explicitly opt into the ASP.NETASP.NET compatibility mode.

Aby uzyskać więcej informacji na temat trybu zgodności ASP.NET, zobacz <ServiceHostingEnvironment>.For more information about ASP.NET compatibility mode, see <serviceHostingEnvironment>.

Użyj właściwości RequirementsMode , aby to zrobić.Use the RequirementsMode property to do this. W czasie wykonywania aplikacje mogą wykryć, ASP.NETASP.NET czy tryb zgodności jest włączony, sprawdzając wartość właściwości AspNetCompatibilityEnabledstatycznej.At runtime, applications can detect if ASP.NETASP.NET compatibility mode is enabled by checking the value of the static property AspNetCompatibilityEnabled.

Konstruktory

AspNetCompatibilityRequirementsAttribute() AspNetCompatibilityRequirementsAttribute() AspNetCompatibilityRequirementsAttribute() AspNetCompatibilityRequirementsAttribute()

Inicjuje nowe wystąpienie klasy AspNetCompatibilityRequirementsAttribute klasy.Initializes a new instance of the AspNetCompatibilityRequirementsAttribute class.

Właściwości

RequirementsMode RequirementsMode RequirementsMode RequirementsMode

Pobiera lub ustawia poziom ASP.NETASP.NET zgodności wymagany przez usługę.Gets or sets the level of ASP.NETASP.NET compatibility required by the service.

TypeId TypeId TypeId TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attributeelementu.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Jawne implementacje interfejsu

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Dodaje niestandardowe dane, do których elementy powiązania mogą uzyskać dostęp do obsługi wdrożenia kontraktu.Adds custom data that the binding elements can access to support the implementation of the contract.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Sprawdza, czy typ hostingu jest zgodny z ASP.NETASP.NET wymaganiami dotyczącymi zgodności.Checks that the type of hosting is consistent with the ASP.NETASP.NET compatibility requirements.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Sprawdza poprawność zachowania usługi.Validates the service behavior.

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie dla obiektu, którego można użyć do uzyskania informacji o typie dla interfejsu.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Metody

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Zwraca kod skrótu dla tego wystąpienia.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Gdy jest zastępowany w klasie pochodnej, wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Gdy jest zastępowany w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest zgodne z określonym obiektem.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Tworzy płytką kopię bieżącego Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Inherited from Object)

Dotyczy