public ResponseData DoBatchWithIDDic(RequestType type, string id, Dictionary <double, string> dic) { var cmd = RedisCoder.CoderForDicWidthID(type, id, dic); Request(cmd); var result = RedisCoder.Decoder(); if (result.Type == ResponseType.Redirect) { return((ResponseData)OnRedirect.Invoke(result.Data, OperationType.DoBatchWithIDDic, type, id, dic)); } else { return(result); } }
public ResponseData DoBatchWithIDDic(RequestType type, string id, Dictionary <string, string> dic) { lock (_syncLocker) { id.KeyCheck(); RedisCoder.CoderForDicWidthID(type, id, dic); var result = RedisCoder.Decoder(); if (result.Type == ResponseType.Redirect) { return((ResponseData)OnRedirect.Invoke(result.Data, OperationType.DoBatchWithIDDic, type, id, dic)); } else { return(result); } } }
public async Task <ResponseData> DoBatchWithIDDicAsync(RequestType type, string id, Dictionary <string, string> dic, TimeSpan timeSpan) { return(await TaskHelper.Run(() => { lock (_syncLocker) { id.KeyCheck(); RedisCoder.CoderForDicWidthID(type, id, dic); var result = RedisCoder.Decoder(); if (result.Type == ResponseType.Redirect) { return (ResponseData)OnRedirect.Invoke(result.Data, OperationType.DoBatchWithIDDic, type, id, dic); } else { return result; } } }).WithCancellationTimeout(timeSpan)); }