Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

AspNetCompatibilityRequirementsAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Wird auf einen Windows Communication Foundation (WCF)-Dienst angewendet, um anzugeben, ob dieser Dienst im ASP.NET-Kompatibilitätsmodus ausgeführt werden kann.

Namespace:   System.ServiceModel.Activation
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

System.Object
  System.Attribute
    System.ServiceModel.Activation.AspNetCompatibilityRequirementsAttribute

[AttributeUsageAttribute(AttributeTargets.Class)]
public sealed class AspNetCompatibilityRequirementsAttribute : Attribute, 
	IServiceBehavior

NameBeschreibung
System_CAPS_pubmethodAspNetCompatibilityRequirementsAttribute()

Initialisiert eine neue Instanz der AspNetCompatibilityRequirementsAttribute-Klasse.

NameBeschreibung
System_CAPS_pubpropertyRequirementsMode

Ruft den vom Dienst geforderten Grad der ASP.NET-Kompatibilität vom Dienst ab oder legt diesen fest.

System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

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

Fügt benutzerdefinierte Daten hinzu, auf die die Bindungselemente zugreifen können, um die Vertragsimplementierung zu unterstützen.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Prüft, ob der Hostingtyp die ASP.NET-Kompatibilitätsanforderungen erfüllt.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Überprüft das Dienstverhalten.

Wenn dieses Attribut auf eine Dienstimplementierungsklasse angewendet wird, gibt es an, ob es dieser Dienst erfordert oder unterstützt, dass der ASP.NET-Kompatibilitätsmodus für die Hostanwendungsdomäne (AppDomain) aktiviert wird.

AppDomains, die WCF-Dienste hosten, können in zwei verschiedenen Hostingmodi ausgeführt werden:

  • Gemischter Transporte-Modus (Standard): In diesem Modus nehmen WCF-Dienste nicht an der ASP.NET HTTP-Pipeline teil. Dadurch ist unabhängig von Hostumgebung und Transport ein konsistentes Verhalten des WCF-Dienstes gewährleistet.

  • ASP.NET-Kompatibilitätsmodus: In diesem Modus nehmen WCF-Dienste an der ASP.NET-HTTP-Pipeline auf ähnliche Weise wie ASMX-Dienste teil.ASP.NET-Funktionen, wie Dateiautorisierung, URL-Autorisierung sowie HTTP-Sitzungsstatus sind anwendbar für WCF-Dienste, die in diesem Modus ausgeführt werden.

Der Hostingmodus wird vom aspNetCompatibilityEnabled-Konfigurationsflag auf Anwendungsebene kontrolliert.

<system.serviceModel>

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

</system.serviceModel>

Dieses Flag ist standardmäßig false, und daher werden WCF-Dienste im gemischten Transporte-Modus ausgeführt, sofern Sie sich nicht explizit für den ASP.NET-Kompatibilitätsmodus entscheiden.

Weitere Informationen finden Sie unterASP.NET Kompatibilitätsmodus finden Sie unter <serviceHostingEnvironment>.

Verwenden Sie dazu die RequirementsMode-Eigenschaft. Zur Laufzeit können Anwendungen erkennen, ob der ASP.NET-Kompatibilitätsmodus aktiviert ist, indem sie den Wert der statischen Eigenschaft AspNetCompatibilityEnabled prüfen.

Dienstentwickler können sicherstellen, dass ihre Dienste nur im ASP.NET-Kompatibilitätsmodus, durch Festlegen ausgeführt wird der RequirementsMode Eigenschaft auf den AspNetCompatibilityRequirementsAttribute zu Required wie im folgenden Beispiel dargestellt

[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();
}
[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;
    }
}

.NET Framework
Verfügbar seit 3.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: