Freigeben über


SoapExtensionAttribute-Klasse

Gibt beim Überschreiben in einer abgeleiteten Klasse an, dass eine SOAP-Erweiterung mit einer XML-Webdienstmethode auszuführen ist.

Namespace: System.Web.Services.Protocols
Assembly: System.Web.Services (in system.web.services.dll)

Syntax

'Declaration
Public MustInherit Class SoapExtensionAttribute
    Inherits Attribute
'Usage
Dim instance As SoapExtensionAttribute
public abstract class SoapExtensionAttribute : Attribute
public ref class SoapExtensionAttribute abstract : public Attribute
public abstract class SoapExtensionAttribute extends Attribute
public abstract class SoapExtensionAttribute extends Attribute

Hinweise

Mit ASP.NET erstellte XML-Webdienstmethoden können für die Ausführung mit einer SOAP-Erweiterung konfiguriert werden, indem ein Attribut auf die XML-Webdienstmethode angewendet wird. Wenn ein benutzerdefiniertes Erweiterungsattribut zu einer XML-Webdienstmethode oder einer Methode in einer Clientproxyklasse hinzugefügt wird, ruft ASP.NET die zugeordnete Erweiterung zum entsprechenden Zeitpunkt auf. Ein Erweiterungsattribut ist eine benutzerdefinierte Attributklasse, die von SoapExtensionAttribute abgeleitet ist. Abgeleitete Attribute müssen die ExtensionType-Eigenschaft überschreiben, um den Typ der Erweiterung zurückzugeben, die dem Attribut zugeordnet ist.

Beispiel

Die folgende TraceExtensionAttribute-Klasse wird von SoapExtensionAttribute abgeleitet, damit sie das Anwenden des Attributs auf eine XML-Webdienstmethode oder eine Methode in der Proxyklasse eines XML-Webdienstclients unterstützt. Bei Anwendung auf beide wird die TraceExtension-SOAP-Erweiterung mit der Methode ausgeführt.

' Create a SoapExtensionAttribute for a SOAP extension that can be
' applied to an XML Web service method.
<AttributeUsage(AttributeTargets.Method)> _
Public Class TraceExtensionAttribute
    Inherits SoapExtensionAttribute
    
    Private m_filename As String = "c:\log.txt"
    Private m_priority As Integer

   ' Return the type of 'TraceExtension' class.
    Public Overrides ReadOnly Property ExtensionType() As Type
        Get
            Return GetType(TraceExtension)
        End Get
    End Property

   ' User can set priority of the 'TraceExtension'.
    Public Overrides Property Priority() As Integer
        Get
            Return m_priority
        End Get
        Set(ByVal Value As Integer)
            m_priority = value
        End Set
    End Property

    Public Property Filename() As String
        Get
            Return m_filename
        End Get
        Set(ByVal Value As String)
            m_filename = value
        End Set
    End Property
End Class
// Create a SoapExtensionAttribute for a SOAP extension that can be
// applied to an XML Web service method.
[AttributeUsage(AttributeTargets.Method)]
public class TraceExtensionAttribute : SoapExtensionAttribute {

    private string myFilename;
    private int myPriority;


    // Set the name of the log file were SOAP messages will be stored.
    public TraceExtensionAttribute() : base()
    {
        myFilename = "C:\\logClient.txt";
    }

    // Return the type of 'TraceExtension' class.
    public override Type ExtensionType
    {
        get
        {
            return typeof(TraceExtension);
        }
    }

    // User can set priority of the 'SoapExtension'.
    public override int Priority 
    {
        get 
        {
            return myPriority;
        }
        set 
        { 
            myPriority = value;
        }
    }

    public string Filename 
    {
        get
        {
            return myFilename;
        }
        set
        {
            myFilename = value;
        }
    }
}
// Create a SoapExtensionAttribute for a SOAP extension that can be
// applied to an XML Web service method.

[AttributeUsage(AttributeTargets::Method)]
public ref class TraceExtensionAttribute: public SoapExtensionAttribute
{
private:
   String^ myFilename;
   int myPriority;

public:

   // Set the name of the log file were SOAP messages will be stored.
   TraceExtensionAttribute()
      : SoapExtensionAttribute()
   {
      myFilename = "C:\\logClient.txt";
   }

   property Type^ ExtensionType 
   {
      // Return the type of 'TraceExtension' class.
      virtual Type^ get() override
      {
         return TraceExtension::typeid;
      }
   }

   property int Priority 
   {
      // User can set priority of the 'SoapExtension'.
      virtual int get() override
      {
         return myPriority;
      }

      virtual void set( int value ) override
      {
         myPriority = value;
      }
   }

   property String^ Filename 
   {
      String^ get()
      {
         return myFilename;
      }

      void set( String^ value )
      {
         myFilename = value;
      }
   }
};
// Create a SoapExtensionAttribute for a SOAP extension that can be
// applied to an XML Web service method.
/** @attribute AttributeUsage(AttributeTargets.Method)
 */
public class TraceExtensionAttribute extends SoapExtensionAttribute
{
    private String myFilename;
    private int myPriority;

    // Set the name of the log file were SOAP messages will be stored.
    public TraceExtensionAttribute()
    {
        myFilename = "C:\\logClient.txt";
    } //TraceExtensionAttribute

    // Return the type of 'TraceExtension' class.
    public Type get_ExtensionType()
    {
        return TraceExtension.class.ToType();
    } //get_ExtensionType

    // User can set priority of the 'SoapExtension'.
    public int get_Priority()
    {
        return myPriority;
    } //get_Priority

    public void set_Priority(int value)
    {
        myPriority = value;
    } //set_Priority

    public String get_Filename()
    {
        return myFilename;
    } //get_Filename

    public void set_Filename(String value)
    {
        myFilename = value;
    } //set_Filename
} //TraceExtensionAttribute

Vererbungshierarchie

System.Object
   System.Attribute
    System.Web.Services.Protocols.SoapExtensionAttribute

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

SoapExtensionAttribute-Member
System.Web.Services.Protocols-Namespace
SoapExtension-Klasse
SoapMessage