public static ActiveMonitoringRpcClient RpcClientFactory(string serverName, int timeoutMs)
        {
            ActiveMonitoringRpcClient activeMonitoringRpcClient = new ActiveMonitoringRpcClient(serverName);

            if (timeoutMs != -1)
            {
                activeMonitoringRpcClient.SetTimeOut(timeoutMs);
            }
            return(activeMonitoringRpcClient);
        }
        public static void RunRpcOperation(string serverName, int timeoutMs, ActiveMonitoringRpcExceptionWrapper rpcExceptionWrapperInstance, ActiveMonitoringGenericRpcHelper.InternalRpcOperation rpcOperation)
        {
            RpcErrorExceptionInfo errorInfo = null;

            rpcExceptionWrapperInstance.ClientRetryableOperation(serverName, delegate
            {
                using (ActiveMonitoringRpcClient activeMonitoringRpcClient = ActiveMonitoringGenericRpcHelper.RpcClientFactory(serverName, timeoutMs))
                {
                    errorInfo = rpcOperation(activeMonitoringRpcClient);
                }
            });
            rpcExceptionWrapperInstance.ClientRethrowIfFailed(serverName, errorInfo);
        }