When overridden in a derived class, allows a SOAP extension to initialize data specific to an XML Web service method at a one time performance cost.
Overload List
When overridden in a derived class, allows a SOAP extension to initialize data specific to a class implementing an XML Web service at a one time performance cost.
Supported by the .NET Compact Framework.
[Visual Basic] Overloads Public MustOverride Function GetInitializer(Type) As Object
[C#] public abstract object GetInitializer(Type);
[C++] public: virtual Object* GetInitializer(Type*) = 0;
[JScript] public abstract function GetInitializer(Type) : Object;
When overridden in a derived class, allows a SOAP extension to initialize data specific to an XML Web service method using an attribute applied to the XML Web service method at a one time performance cost.
Supported by the .NET Compact Framework.
[Visual Basic] Overloads Public MustOverride Function GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) As Object
[C#] public abstract object GetInitializer(LogicalMethodInfo, SoapExtensionAttribute);
[C++] public: virtual Object* GetInitializer(LogicalMethodInfo*, SoapExtensionAttribute*) = 0;
[JScript] public abstract function GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) : Object;
Example
[Visual Basic, C#, C++] The following code demonstrates how you can obtain SOAP extension-specific data passed in using a class that derives from SoapExtensionAttribute, and then cache that data in GetInitializer. This code example is part of a full code example for a TraceExtension SOAP extension that can be found in the SoapExtension class overview. This code example relies on a TraceExtensionAttribute being passed into the attribute parameter. In the full code example, TraceExtensionAttribute derives from SoapExtensionAttribute and adds a Filename property, which is what GetInitializer stores in the cache.
[Visual Basic, C#, C++] Note This example shows how to use one of the overloaded versions of GetInitializer. For other examples that might be available, see the individual overload topics.
[Visual Basic]
' When the SOAP extension is accessed for the first time,
' cache the file name passed in by the SoapExtensionAttribute.
Public Overloads Overrides Function GetInitializer( _
methodInfo As LogicalMethodInfo, _
attribute As SoapExtensionAttribute) As Object
Return CType(attribute, TraceExtensionAttribute).Filename
End Function
[C#]
// When the SOAP extension is accessed for the first time, cache the
// file name passed in by the SoapExtensionAttribute.
public override object GetInitializer(LogicalMethodInfo methodInfo,
SoapExtensionAttribute attribute)
{
return ((TraceExtensionAttribute) attribute).Filename;
}
[C++]
// When the SOAP extension is accessed for the first time, cache the
// file name passed in by the SoapExtensionAttribute.
public:
Object* GetInitializer(LogicalMethodInfo* /*methodInfo*/,
SoapExtensionAttribute* attribute)
{
return (dynamic_cast<TraceExtensionAttribute*> (attribute))->Filename;
}
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
See Also
SoapExtension Class | SoapExtension Members | System.Web.Services.Protocols Namespace