AspNetCompatibilityRequirementsAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Appliqué à un service Windows Communication Foundation (WCF) pour indiquer si ce service peut être exécuté en mode de compatibilité ASP.NET.
public ref class AspNetCompatibilityRequirementsAttribute sealed : Attribute, System::ServiceModel::Description::IServiceBehavior
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class AspNetCompatibilityRequirementsAttribute : Attribute, System.ServiceModel.Description.IServiceBehavior
[<System.AttributeUsage(System.AttributeTargets.Class)>]
type AspNetCompatibilityRequirementsAttribute = class
inherit Attribute
interface IServiceBehavior
Public NotInheritable Class AspNetCompatibilityRequirementsAttribute
Inherits Attribute
Implements IServiceBehavior
- Héritage
- Attributs
- Implémente
Exemples
Les développeurs de services peuvent s’assurer que leur service est exécuté uniquement en mode de compatibilité ASP.NET en définissant la propriété sur la RequirementsMode AspNetCompatibilityRequirementsAttribute Required valeur comme indiqué dans l’exemple suivant
[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
Remarques
Lorsqu’il est appliqué à une classe d’implémentation de service, cet attribut indique si ce service nécessite ou prend en charge ASP.NET mode de compatibilité à activer pour le domaine d’application d’hébergement (AppDomain).
AppDomains hébergeant des services WCF peut s’exécuter en deux modes d’hébergement différents :
Mode transports mixtes (par défaut) : dans ce mode, les services WCF ne participent pas au pipeline HTTP ASP.NET. Cela garantit qu’un service WCF se comporte de manière cohérente, indépendamment de l’environnement d’hébergement et du transport.
ASP.NET mode de compatibilité : dans ce mode, les services WCF participent au pipeline HTTP ASP.NET de manière similaire aux services ASMX. ASP.NET fonctionnalités telles que l’autorisation de fichier, l’urlAuthorization et l’état de session HTTP s’appliquent aux services WCF exécutés en ce mode.
Le mode d'hébergement est contrôlé par l'indicateur de configuration d'application aspNetCompatibilityEnabled
:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>
Cet indicateur est false
par défaut et les services WCF s’exécutent donc en mode transports mixtes, sauf si vous optez explicitement dans le mode de compatibilité ASP.NET.
Pour plus d’informations sur le mode de compatibilité ASP.NET, consultez <serviceHostingEnvironment>.
Pour ce faire, utilisez la propriété RequirementsMode. Au moment de l’exécution, les applications peuvent détecter si ASP.NET mode de compatibilité est activé en vérifiant la valeur de la propriété AspNetCompatibilityEnabledstatique.
Constructeurs
AspNetCompatibilityRequirementsAttribute() |
Initialise une nouvelle instance de la classe AspNetCompatibilityRequirementsAttribute. |
Propriétés
RequirementsMode |
Obtient ou définit le niveau de compatibilité ASP.NET requis par le service. |
TypeId |
Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute. (Hérité de Attribute) |
Méthodes
Equals(Object) |
Retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
GetHashCode() |
Retourne le code de hachage de cette instance. (Hérité de Attribute) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
IsDefaultAttribute() |
En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute) |
Match(Object) |
En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute) |
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Ajoute des données personnalisées auxquelles les éléments de liaison peuvent accéder pour prendre en charge l’implémentation du contrat. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Vérifie que le type d’hébergement est cohérent avec les exigences de compatibilité ASP.NET. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Valide le comportement de service. |