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