AspNetCompatibilityRequirementsAttribute Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Wordt toegepast op een WCF-service (Windows Communication Foundation) om aan te geven of die service kan worden uitgevoerd in ASP.NET compatibiliteitscode.
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
- Overname
- Kenmerken
- Implementeringen
Voorbeelden
Serviceontwikkelaars kunnen ervoor zorgen dat hun service alleen wordt uitgevoerd in ASP.NET compatibiliteitsmodus door de eigenschap RequirementsMode op de AspNetCompatibilityRequirementsAttribute in te stellen op Required, zoals wordt weergegeven in het volgende voorbeeld
[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
Opmerkingen
Wanneer dit kenmerk wordt toegepast op een service-implementatieklasse, geeft dit kenmerk aan of deze service vereist of ondersteunt ASP.NET compatibiliteitsmodus moet worden ingeschakeld voor het hosttoepassingsdomein (AppDomain).
AppDomains die WCF-services hosten, kunnen worden uitgevoerd in twee verschillende hostingmodi:
Modus Gemengde transporten (standaard): In deze modus nemen WCF-services niet deel aan de ASP.NET HTTP-pijplijn. Dit garandeert dat een WCF-service zich consistent gedraagt, onafhankelijk van de hostingomgeving en het transport.
ASP.NET compatibiliteitsmodus: In deze modus nemen WCF-services deel aan de ASP.NET HTTP-pijplijn op een manier die vergelijkbaar is met ASMX-services. ASP.NET functies zoals bestandsautorisatie, UrlAuthorization en HTTP-sessiestatus zijn van toepassing op WCF-services die in deze modus worden uitgevoerd.
De hostingmodus wordt beheerd door de configuratievlag aspNetCompatibilityEnabledop toepassingsniveau.
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>
Deze vlag is standaard false en dus worden WCF-services uitgevoerd in de modus Gemengde transporten, tenzij u expliciet kiest voor de ASP.NET compatibiliteitsmodus.
Zie <serviceHostingEnvironment> voor meer informatie over ASP.NET compatibiliteitsmodus.
Gebruik de RequirementsMode eigenschap om dit te doen. Tijdens runtime kunnen toepassingen detecteren of ASP.NET compatibiliteitsmodus is ingeschakeld door de waarde van de statische eigenschap AspNetCompatibilityEnabled te controleren.
Constructors
| Name | Description |
|---|---|
| AspNetCompatibilityRequirementsAttribute() |
Initialiseert een nieuw exemplaar van de AspNetCompatibilityRequirementsAttribute klasse. |
Eigenschappen
| Name | Description |
|---|---|
| RequirementsMode |
Hiermee haalt u het niveau van ASP.NET compatibiliteit op dat door de service is vereist. |
| TypeId |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id. (Overgenomen van Attribute) |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object. (Overgenomen van Attribute) |
| GetHashCode() |
Retourneert de hash-code voor dit exemplaar. (Overgenomen van Attribute) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| IsDefaultAttribute() |
Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse. (Overgenomen van Attribute) |
| Match(Object) |
Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object. (Overgenomen van Attribute) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's. (Overgenomen van Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen. (Overgenomen van Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1). (Overgenomen van Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven. (Overgenomen van Attribute) |
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Voegt aangepaste gegevens toe waartoe de bindingselementen toegang hebben om de implementatie van het contract te ondersteunen. |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Controleert of het type hosting consistent is met de ASP.NET compatibiliteitsvereisten. |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Valideert het servicegedrag. |