Aracılığıyla paylaş


RemotingServices.IsOneWay(MethodBase) Yöntem

Tanım

Verilen iletide belirtilen yöntemi çağıran istemcinin yürütmeye devam etmeden önce sunucunun yöntemi işlemeyi tamamlayıp bitirmediğini belirten bir Boole değeri döndürür.

public:
 static bool IsOneWay(System::Reflection::MethodBase ^ method);
public static bool IsOneWay (System.Reflection.MethodBase method);
[System.Security.SecurityCritical]
public static bool IsOneWay (System.Reflection.MethodBase method);
static member IsOneWay : System.Reflection.MethodBase -> bool
[<System.Security.SecurityCritical>]
static member IsOneWay : System.Reflection.MethodBase -> bool
Public Shared Function IsOneWay (method As MethodBase) As Boolean

Parametreler

method
MethodBase

Söz konusu yöntem.

Döndürülenler

true yöntem tek yönlüyse; aksi takdirde , false.

Öznitelikler

Özel durumlar

Hemen çağıranın altyapı izni yok.

Örnekler

public ref class HelloServer: public MarshalByRefObject
{
public:
   HelloServer()
   {
      Console::WriteLine( "HelloServer activated." );
   }

   [OneWay]
   void SayHelloToServer( String^ name )
   {
      Console::WriteLine( "Client invoked SayHelloToServer(\" {0}\").", name );
   }

   // IsOneWay: Note the lack of the OneWayAttribute adornment on this method.
   [SecurityPermissionAttribute(SecurityAction::Demand, Flags=SecurityPermissionFlag::Infrastructure)]   
   String^ SayHelloToServerAndWait( String^ name )
   {
      Console::WriteLine( "Client invoked SayHelloToServerAndWait(\" {0}\").", name );
      Console::WriteLine( "Client waiting for return? {0}", RemotingServices::IsOneWay( MethodBase::GetCurrentMethod() ) ? (String^)"No" : "Yes" );
      return String::Format( "Hi there, {0}.", name );
   }
};
public class HelloServer : MarshalByRefObject {

   public HelloServer() {
      Console.WriteLine("HelloServer activated.");
   }

   [OneWay()]
   public void SayHelloToServer(string name) {
      Console.WriteLine("Client invoked SayHelloToServer(\"{0}\").", name);
   }   

   // IsOneWay
   // Note the lack of the OneWayAttribute adornment on this method.
   public string SayHelloToServerAndWait(string name) {
      Console.WriteLine("Client invoked SayHelloToServerAndWait(\"{0}\").", name);

      Console.WriteLine(
         "Client waiting for return? {0}",
         RemotingServices.IsOneWay(MethodBase.GetCurrentMethod()) ? "No" : "Yes"
      );

      return "Hi there, " + name + ".";
   }
}
Public Class HelloServer
    Inherits MarshalByRefObject

    Shared Sub New()
        Console.WriteLine("HelloServer activated.")
    End Sub

    <OneWay()> Public Sub SayHelloToServer(ByVal name As String)
        Console.WriteLine("Client invoked SayHelloToServer(""{0}"").", name)
    End Sub

    'IsOneWay
    ' Note the lack of the OneWayAttribute adornment on this method.
<SecurityPermission(SecurityAction.Demand)> _
    Public Function SayHelloToServerAndWait(ByVal name As String) As String
        Console.WriteLine("Client invoked SayHelloToServerAndWait(""{0}"").", name)

        Console.WriteLine( _
            "Client waiting for return? {0}", _
            IIf(RemotingServices.IsOneWay(MethodBase.GetCurrentMethod()), "No", "Yes") _
        )

        Return "Hi there, " + name + "."
    End Function

End Class

Açıklamalar

Tek yönlü bir yöntem çağrıldığında, istemci sunucunun iletiyi işlemeyi bitirmesini beklemez. İstemci yöntemi, sunucunun iletiyi başarılı bir şekilde işleyip işleyemeyeceği konusunda bilgi sahibi olmadan uygulamaya döner. Yöntemler, kullanılarak OneWayAttributetek yönlü olarak işaretlenir.

Tek yönlü yöntemlerin dönüş değeri veya out parametreleri olamaz.

Şunlara uygulanır