Freigeben über


SoapServices.IsSoapActionValidForMethodBase-Methode

Bestimmt, ob die angegebene SOAPAction für eine bestimmte MethodBase zulässig ist.

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

Syntax

'Declaration
Public Shared Function IsSoapActionValidForMethodBase ( _
    soapAction As String, _
    mb As MethodBase _
) As Boolean
'Usage
Dim soapAction As String
Dim mb As MethodBase
Dim returnValue As Boolean

returnValue = SoapServices.IsSoapActionValidForMethodBase(soapAction, mb)
public static bool IsSoapActionValidForMethodBase (
    string soapAction,
    MethodBase mb
)
public:
static bool IsSoapActionValidForMethodBase (
    String^ soapAction, 
    MethodBase^ mb
)
public static boolean IsSoapActionValidForMethodBase (
    String soapAction, 
    MethodBase mb
)
public static function IsSoapActionValidForMethodBase (
    soapAction : String, 
    mb : MethodBase
) : boolean

Parameter

  • soapAction
    Die anhand von MethodBase zu überprüfende SOAPAction.
  • mb
    Die MethodBase, anhand derer die angegebene SOAPAction überprüft wird.

Rückgabewert

true, wenn die angegebene SOAPAction für eine bestimmte MethodBase zulässig ist, andernfalls false.

Ausnahmen

Ausnahmetyp Bedingung

SecurityException

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

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