Поделиться через


SoapServices.IsSoapActionValidForMethodBase(String, MethodBase) Метод

Определение

Определяет, приемлем ли SOAPAction для данного 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

Параметры

soapAction
String

SOAPAction, проверяемый по MethodBase.

mb
MethodBase

MethodBase, по которому проверяется SOAPAction.

Возвращаемое значение

true, если указанный SOAPAction приемлем для данного MethodBase; иначе — false.

Атрибуты

Исключения

У непосредственно вызывающего объекта отсутствует разрешение инфраструктуры.

Примеры

В следующем примере кода показано применение этого метода. Этот пример входит в состав более крупного примера использования класса SoapServices.

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

Применяется к