static void GetFile(string commandLine) { commandLine = commandLine.Remove(0, 9); var kv = File.ReadAllLines(commandLine).Select(ln => ln.Split('|')).ToList(); var lines = kv.Select(k => k[1]); var client = new Client(); var watch = Stopwatch.StartNew(); var request = new GetMultipleRequest { BucketName = kv[0][0], Keys = lines.ToList() }; var result = client.GetDocuemnts(request); watch.Stop(); result = result ?? new Dictionary <string, string>(); foreach (var item in result) { System.Console.WriteLine(item.Key + ": " + item.Value); } System.Console.WriteLine("{0} results returned.", result.Count); System.Console.WriteLine("{0} documents found, {1} documents not found", result.Count(data => !string.IsNullOrEmpty(data.Value)), result.Count(data => string.IsNullOrEmpty(data.Value))); System.Console.WriteLine("Operation took {0} milliseconds", watch.ElapsedMilliseconds); }
static void BulkGet(string commandLine) { commandLine = commandLine.Remove(0, 9); var client = new Client(); var kv = commandLine.Split('|'); var bucket = kv[0]; var keyHead = kv[1]; var from = int.Parse(kv[2]); var to = int.Parse(kv[3]); var keys = new List <string>(); for (var i = from; i < to; i++) { keys.Add(keyHead + i); } var reuqest = new GetMultipleRequest { BucketName = bucket, Keys = keys }; var watch = Stopwatch.StartNew(); var result = client.GetDocuemnts(reuqest); watch.Stop(); System.Console.WriteLine("{0} results returned.", result.Count); System.Console.WriteLine("{0} documents found, {1} documents not found", result.Count(data => !string.IsNullOrEmpty(data.Value)), result.Count(data => string.IsNullOrEmpty(data.Value))); System.Console.WriteLine("Operation took {0} milliseconds", watch.ElapsedMilliseconds); }
public Dictionary <string, string> GetDocuemnts(GetMultipleRequest getRequest) { var hostUrl = ConfigurationManager.AppSettings["ApiHostUrl"]; var requstJson = JsonConvert.SerializeObject(getRequest); var request = HttpWebRequest.Create(hostUrl + "/documents/") as HttpWebRequest; request.Method = "POST"; request.ContentLength = requstJson.Length; request.GetRequestStream().Write(Encoding.ASCII.GetBytes(requstJson), 0, requstJson.Length); var response = request.GetResponse(); var reader = new StreamReader(response.GetResponseStream()); var message = reader.ReadToEnd(); return(JsonConvert.DeserializeObject <Dictionary <string, string> >(message)); }
/// <summary> /// Gets the by keys. /// </summary> /// <param name="request">The request.</param> /// <returns>System.String.</returns> private string GetByKeys(GetMultipleRequest request) { try { if (string.IsNullOrEmpty(request.BucketName)) { return(string.Empty); } if (request.Keys == null || !request.Keys.Any()) { return(string.Empty); } var results = Buckets[request.BucketName.ToLower()].Get(request.Keys); return(JsonConvert.SerializeObject(results)); } catch (Exception ex) { return(ex.Message); } }