Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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