Exemple #1
0
        //public T Wait<T>(QuResult<T> rltStamp)
        //{
        //    return Wait(rltStamp, TimeSpan.MaxValue);
        //}
        public T Wait <T>(QuResult <T> rltStamp, TimeSpan timeOut)
        {
            QuResultHandler rltHlper;

            lock (this)
            {
                if (!rltmap.TryGetValue(rltStamp.CorrleationId, out rltHlper))
                {
                    throw new NullReferenceException(nameof(Wait));
                }
            }
            var obj  = rltHlper.Wait(timeOut);
            var jObj = obj as JObject;
            var rlt  = (jObj != null)? jObj.ToObject <T>():(T)obj;

            lock (this)
                rltmap.Remove(rltHlper.CorrleationId);
            rltHlper.Dispose();
            return(rlt);
        }
 public async Task <T> AsyncWaitResult <T>(QuResult <T> rltStamp, TimeSpan timeOut)
 {
     return(await Task <T> .Run(() => responseService.Wait <T>(rltStamp, timeOut)).ConfigureAwait(false));
 }
 public async Task <T> AsyncWaitResult <T>(QuResult <T> rltStamp)
 {
     return(await AsyncWaitResult(rltStamp, defaultWaitTimeout).ConfigureAwait(false));
 }
 public T WaitResult <T>(QuResult <T> rltStamp, TimeSpan timeOut)
 {
     return(responseService.Wait <T>(rltStamp, timeOut));
 }
 public T WaitResult <T>(QuResult <T> rltStamp)
 {
     return(WaitResult(rltStamp, defaultWaitTimeout));
 }