HelloMethod() public method

public HelloMethod ( string text, ForwardByRef fbr ) : string
text string
fbr ForwardByRef
return string
Exemplo n.º 1
0
        }     //Run()

        /// <summary>
        /// Sequential invocation method.
        /// </summary>
        /// <param name="RemoteObj"></param>
        public void ClientInvoke(object RemoteObj)
        //public void ClientInvoke()
        {
            try
            {
                if (RemoteObj == null)
                {
                    Console.WriteLine("Could not locate server.");
                    return;
                }//if

                lock (this)
                {
                    switch (m_CallConv)
                    {
                    case CallingConvention.ByRef:
                    {
                        HelloServerByRef hsbr = (HelloServerByRef)RemoteObj;
                        ForwardByRef     fbr  = new ForwardByRef();
                        string           str  = hsbr.HelloMethod("Calling ByRef sequential", fbr);
                        Console.WriteLine("Output from HelloMethod(): {0}", str);

                        if (m_ThreadNumber > 0)
                        {
                            Console.WriteLine("From thread {0}", m_ThreadNumber.ToString());
                        }//if
                        break;
                    }

                    case CallingConvention.ByVal:
                    {
                        HelloServerByVal hsbv      = (HelloServerByVal)RemoteObj;
                        ForwardByVal     fbv       = new ForwardByVal();
                        ForwardByVal     returnfbv = hsbv.HelloMethod("Calling ByVal sequential", fbv);
                        Console.WriteLine("Output from forwarded object: {0}", returnfbv.Message);
                        if (m_ThreadNumber > 0)
                        {
                            Console.WriteLine("From thread {0}", m_ThreadNumber.ToString());
                        }//if
                        break;
                    }

                    default:
                        throw new System.InvalidOperationException("Invalid calling convention in Run()");
                    } //switch
                }     //end lock(this)
            }         //try
            catch (Exception e)
            {
                Console.WriteLine("Exception in Client.ClientInvoke(): {0}", e.ToString());
                System.Diagnostics.Process.GetCurrentProcess().Kill();
            } //catch
            return;
        }     //ClientInvoke