Condividi tramite


SoapServices.IsSoapActionValidForMethodBase(String, MethodBase) Metodo

Definizione

Determina se il valore SOAPAction specificato è accettabile per un determinato oggetto MethodBase.

public:
 static bool IsSoapActionValidForMethodBase(System::String ^ soapAction, System::Reflection::MethodBase ^ mb);
public static bool IsSoapActionValidForMethodBase (string soapAction, System.Reflection.MethodBase mb);
[System.Security.SecurityCritical]
public static bool IsSoapActionValidForMethodBase (string soapAction, System.Reflection.MethodBase mb);
static member IsSoapActionValidForMethodBase : string * System.Reflection.MethodBase -> bool
[<System.Security.SecurityCritical>]
static member IsSoapActionValidForMethodBase : string * System.Reflection.MethodBase -> bool
Public Shared Function IsSoapActionValidForMethodBase (soapAction As String, mb As MethodBase) As Boolean

Parametri

soapAction
String

Valore SOAPAction da verificare rispetto all'oggetto MethodBase dato.

mb
MethodBase

Oggetto MethodBase rispetto al quale viene verificato il valore SOAPAction.

Restituisce

true se il valore SOAPAction specificato è accettabile per un determinato oggetto MethodBase; in caso contrario, false.

Attributi

Eccezioni

Il chiamante immediato non dispone dell'autorizzazione di infrastruttura.

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare questo metodo. Questo esempio di codice fa parte di un esempio più grande fornito per la SoapServices classe.

// 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 = 
    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);

Si applica a