示例#1
0
        /// <divis>
        /// Division is done at the server through remoting
        /// </divis>
        private string Calculate(Operation operation, int number1, int number2)
        {
            //check whether channel is created
            if (_clientChannel == null)
            {
                //Create the channel
                _clientChannel = new TcpChannel();
                //Register  the channel
                ChannelServices.RegisterChannel(_clientChannel, true);
            }
            //Create a proxy object to access the remote calculator
            _remoteCalculator = (RemoteCalculator)Activator.GetObject(typeof(RemoteCalculator), "tcp://" + _server + ":" + _port + "/RemoteCalculator");

            return(Convert.ToString(_remoteCalculator.Division(number1, number2)));
        }
示例#2
0
        /// <summary>
        /// Addition and Multipication is done at the server through remoting
        /// </summary>
        private string Calculate(Operation operation, int number1, int number2)
        {
            int result;

            //check whether channel is created
            if (_clientChannel == null)
            {
                //Create the channel
                _clientChannel = new TcpChannel();
                //Register  the channel
                ChannelServices.RegisterChannel(_clientChannel);
            }
            //Create a proxy object to access the remote calculator
            _remoteCalculator = (RemoteCalculator)Activator.GetObject(typeof(RemoteCalculator), "tcp://" + _server + ":" + _port + "/RemoteCalculator");
            if (operation.Equals(Operation.Addition))
            {
                result = _remoteCalculator.Add(number1, number2);
            }
            else
            {
                result = _remoteCalculator.Multiply(number1, number2);
            }
            return(Convert.ToString(result));
        }