Freigeben über


SoapServices.GetTypeAndMethodNameFromSoapAction-Methode

Bestimmt den Typ- und Methodennamen der Methode, die dem angegebenen SOAPAction-Wert zugeordnet ist.

Namespace: System.Runtime.Remoting
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared Function GetTypeAndMethodNameFromSoapAction ( _
    soapAction As String, _
    <OutAttribute> ByRef typeName As String, _
    <OutAttribute> ByRef methodName As String _
) As Boolean
'Usage
Dim soapAction As String
Dim typeName As String
Dim methodName As String
Dim returnValue As Boolean

returnValue = SoapServices.GetTypeAndMethodNameFromSoapAction(soapAction, typeName, methodName)
public static bool GetTypeAndMethodNameFromSoapAction (
    string soapAction,
    out string typeName,
    out string methodName
)
public:
static bool GetTypeAndMethodNameFromSoapAction (
    String^ soapAction, 
    [OutAttribute] String^% typeName, 
    [OutAttribute] String^% methodName
)
public static boolean GetTypeAndMethodNameFromSoapAction (
    String soapAction, 
    /** @attribute OutAttribute() */ /** @ref */ String typeName, 
    /** @attribute OutAttribute() */ /** @ref */ String methodName
)
JScript unterstützt die Übergabe von Werttypargumenten als Verweis nicht.

Parameter

  • soapAction
    SOAPAction der Methode, für die der Typ- und Methodenname angefordert wurde.
  • typeName
    Enthält nach dem Beenden dieser Methode einen String mit dem Typnamen der betreffenden Methode. Dieser Parameter wird nicht initialisiert übergeben.
  • methodName
    Enthält nach dem Beenden dieser Methode einen String mit dem Methodennamen der betreffenden Methode. Dieser Parameter wird nicht initialisiert übergeben.

Rückgabewert

true, wenn Typ- und Methodenname erfolgreich wiederhergestellt wurden, andernfalls false.

Ausnahmen

Ausnahmetyp Bedingung

RemotingException

Der SOAPAction-Wert steht nicht in Anführungszeichen.

SecurityException

Der direkte Aufrufer verfügt nicht über die Berechtigung für die Infrastruktur.

Hinweise

true, wenn die Suchvorgänge nach Typ- und Methodenname erfolgreich waren, andernfalls false.

Beispiel

Im folgenden Codebeispiel wird die Verwendung dieser Methode veranschaulicht. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die SoapServices-Klasse.

// Get the SOAP action for the method.
System.Reflection.MethodBase getHelloMethodBase = 
    typeof(ExampleNamespace.ExampleClass).GetMethod("GetHello");
string getHelloSoapAction =
    SoapServices.GetSoapActionFromMethodBase(getHelloMethodBase);
Console.WriteLine(
    "The SOAP action for the method " +
    "ExampleClass.GetHello is {0}.", getHelloSoapAction);
bool isSoapActionValid = SoapServices.IsSoapActionValidForMethodBase(
    getHelloSoapAction,
    getHelloMethodBase);
if (isSoapActionValid)
{
    Console.WriteLine(
        "The SOAP action, {0}, " + 
        "is valid for ExampleClass.GetHello", 
        getHelloSoapAction);
}
else
{
    Console.WriteLine(
        "The SOAP action, {0}, " + 
        "is not valid for ExampleClass.GetHello", 
        getHelloSoapAction);
}

// Register the SOAP action for the GetHello method.
SoapServices.RegisterSoapActionForMethodBase(getHelloMethodBase);

// Get the type and the method names encoded into the SOAP action.
string encodedTypeName;
string encodedMethodName;
SoapServices.GetTypeAndMethodNameFromSoapAction(
    getHelloSoapAction, 
    out encodedTypeName, 
    out encodedMethodName);
Console.WriteLine(
    "The type name encoded in this SOAP action is {0}.",
    encodedTypeName);
Console.WriteLine(
    "The method name encoded in this SOAP action is {0}.",
    encodedMethodName);
// Get the SOAP action for the method.
System::Reflection::MethodBase^ getHelloMethodBase =
   ExampleNamespace::ExampleClass::typeid->GetMethod( L"GetHello" );
String^ getHelloSoapAction =
   SoapServices::GetSoapActionFromMethodBase( getHelloMethodBase );
Console::WriteLine( L"The SOAP action for the method "
L"ExampleClass.GetHello is {0}.", getHelloSoapAction );
bool isSoapActionValid =
   SoapServices::IsSoapActionValidForMethodBase(
      getHelloSoapAction, getHelloMethodBase );
if ( isSoapActionValid )
{
   Console::WriteLine( L"The SOAP action, {0}, "
   L"is valid for ExampleClass.GetHello", getHelloSoapAction );
}
else
{
   Console::WriteLine( L"The SOAP action, {0}, "
   L"is not valid for ExampleClass.GetHello", getHelloSoapAction );
}

// Register the SOAP action for the GetHello method.
SoapServices::RegisterSoapActionForMethodBase( getHelloMethodBase );

// Get the type and the method names encoded into the SOAP action.
String^ encodedTypeName;
String^ encodedMethodName;
SoapServices::GetTypeAndMethodNameFromSoapAction(
   getHelloSoapAction,encodedTypeName,encodedMethodName );
Console::WriteLine( L"The type name encoded in this SOAP action is {0}.",
   encodedTypeName );
Console::WriteLine( L"The method name encoded in this SOAP action is {0}.",
   encodedMethodName );
// Get the SOAP action for the method.
System.Reflection.MethodBase getHelloMethodBase = ExampleNamespace.
    ExampleClass.class.ToType().GetMethod("GetHello");
String getHelloSoapAction = SoapServices.
    GetSoapActionFromMethodBase(getHelloMethodBase);
Console.WriteLine("The SOAP action for the method " 
    + "ExampleClass.GetHello is {0}.", getHelloSoapAction);
boolean isSoapActionValid = SoapServices.
    IsSoapActionValidForMethodBase(getHelloSoapAction, 
    getHelloMethodBase);
if (isSoapActionValid) {
    Console.WriteLine("The SOAP action, {0}, " 
        + "is valid for ExampleClass.GetHello", getHelloSoapAction);
}
else {
    Console.WriteLine("The SOAP action, {0}, " 
        + "is not valid for ExampleClass.GetHello", getHelloSoapAction);
}
// Register the SOAP action for the GetHello method.
SoapServices.RegisterSoapActionForMethodBase(getHelloMethodBase);
// Get the type and the method names encoded into the SOAP action.
String encodedTypeName = "";
String encodedMethodName = "";
SoapServices.GetTypeAndMethodNameFromSoapAction(getHelloSoapAction, 
    encodedTypeName, encodedMethodName);
Console.WriteLine("The type name encoded in this SOAP action is {0}.", 
    encodedTypeName);
Console.WriteLine("The method name encoded in this SOAP action is {0}.", 
    encodedMethodName);

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, 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

Siehe auch

Referenz

SoapServices-Klasse
SoapServices-Member
System.Runtime.Remoting-Namespace