AspNetCompatibilityRequirementsAttribute AspNetCompatibilityRequirementsAttribute AspNetCompatibilityRequirementsAttribute AspNetCompatibilityRequirementsAttribute Class

Definizione

Applicato a un servizio Windows Communication Foundation (WCF) per indicare se tale servizio può essere eseguito all'interno di codice di compatibilità 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
Ereditarietà
AspNetCompatibilityRequirementsAttributeAspNetCompatibilityRequirementsAttributeAspNetCompatibilityRequirementsAttributeAspNetCompatibilityRequirementsAttribute
Attributi
Implementazioni

Esempi

Gli sviluppatori di servizi possono garantire che il servizio venga eseguito solo in modalità di compatibilità ASP.NET RequirementsMode impostando la AspNetCompatibilityRequirementsAttribute proprietà Required in su come illustrato nell'esempio seguenteService 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

Commenti

Se applicato a una classe di implementazione di un servizio, questo attributo indica se il servizio richiede o supporta l'abilitazione della modalità di compatibilità ASP.NETASP.NET per il dominio dell'applicazione host (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).

Gli AppDomain che ospitano servizi WCF possono essere eseguiti in due modalità di hosting diverse:AppDomains hosting WCF services can run in two different hosting modes:

  • Modalità trasporti misti (impostazione predefinita): In questa modalità, i ASP.NETASP.NET servizi WCF non partecipano alla pipeline HTTP.Mixed Transports Mode (Default): In this mode, WCF services do not participate in the ASP.NETASP.NET HTTP pipeline. Ciò garantisce che un servizio WCF si comporti in modo coerente, indipendentemente dall'ambiente host e dal trasporto.This guarantees that a WCF service behaves consistently, independent of hosting environment and transport.

  • ASP.NETASP.NETModalità di compatibilità: In questa modalità, i ASP.NETASP.NET servizi WCF partecipano alla pipeline HTTP in modo analogo ai servizi 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.NETfunzionalità quali autorizzazione file, l'autorizzazione URL e stato sessione HTTP sono applicabili ai servizi WCF in esecuzione in questa modalità.features such as File Authorization, UrlAuthorization, and HTTP Session State are applicable to WCF services running in this mode.

La modalità host è controllata dal flag di configurazione a livello di applicazione aspNetCompatibilityEnabled.The hosting mode is controlled by the application-level configuration flag aspNetCompatibilityEnabled.

<system.serviceModel>

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

</system.serviceModel>

Questo flag è false per impostazione predefinita e pertanto i servizi WCF vengono eseguiti in modalità trasporto misto, a meno che non si scelga esplicitamente la ASP.NETASP.NET modalità di compatibilità.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.

Per ulteriori informazioni sulla modalità di compatibilità ASP.NET, <vedere>ServiceHostingEnvironment.For more information about ASP.NET compatibility mode, see <serviceHostingEnvironment>.

Utilizzare la proprietà RequirementsMode per eseguire quanto segue.Use the RequirementsMode property to do this. In fase di esecuzione, le applicazioni possono rilevare la modalità di compatibilità ASP.NETASP.NET controllando il valore della proprietà statica AspNetCompatibilityEnabled.At runtime, applications can detect if ASP.NETASP.NET compatibility mode is enabled by checking the value of the static property AspNetCompatibilityEnabled.

Costruttori

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

Inizializza una nuova istanza della classe AspNetCompatibilityRequirementsAttribute.Initializes a new instance of the AspNetCompatibilityRequirementsAttribute class.

Proprietà

RequirementsMode RequirementsMode RequirementsMode RequirementsMode

Ottiene o imposta il livello di compatibilità ASP.NETASP.NET necessario per il servizio.Gets or sets the level of ASP.NETASP.NET compatibility required by the service.

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Implementazioni dell'interfaccia esplicita

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)

Aggiunge dati personalizzati a cui gli elementi di associazione possono accedere per supportare l'implementazione del contratto.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)

Verifica che il tipo di hosting sia coerente con i requisiti di compatibilità ASP.NETASP.NET.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)

Convalida il comportamento del servizio.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)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.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)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.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)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 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)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Metodi

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

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

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

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.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)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.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()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Si applica a