public static T RunRpcAndGetReply <T>(RpcGenericRequestInfo requestInfo, string serverName, int timeoutInMSec) where T : class { RpcGenericReplyInfo replyInfo = null; AmRpcClientHelper.RunRpcOperation(AmRpcOperationHint.GenericRpc, serverName, new int?(timeoutInMSec), delegate(AmRpcClient rpcClient, string rpcServerName) { ExTraceGlobals.ActiveMonitoringRpcTracer.TraceDebug <string>(0L, "GenericRequest(): Now making GenericRequest RPC to server {0}.", serverName); return(rpcClient.GenericRequest(requestInfo, out replyInfo)); }); return(SerializationServices.Deserialize <T>(replyInfo.AttachedData)); }