Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
 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);
         }
     }
 }
Ejemplo n.º 3
0
 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));
 }