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