コード例 #1
0
        async void QueryConflictAsync(object resource, RequestOptions requestOptions)
        {
            try
            {
                var queryText = resource as string;
                // text is the querytext.
                FeedResponse <Database> r;
                using (PerfStatus.Start("QueryConflicts"))
                {
                    var q = _client.CreateConflictQuery((Parent.Tag as DocumentCollection).GetLink(_client), queryText).AsDocumentQuery();
                    r = await q.ExecuteNextAsync <Database>();
                }

                // set the result window
                var text = string.Format(CultureInfo.InvariantCulture, "Returned {0} Conflict(s)", r.Count);

                var jsonarray = "[";
                var index     = 0;
                foreach (dynamic d in r)
                {
                    index++;
                    // currently Query.ToString() has Formatting.Indented, but the public release doesn't have yet.
                    jsonarray += d.ToString();

                    if (index == r.Count)
                    {
                        jsonarray += "]";
                    }
                    else
                    {
                        jsonarray += ",\r\n";
                    }
                }

                Program.GetMain().SetResultInBrowser(jsonarray, text, true, r.ResponseHeaders);
            }
            catch (AggregateException e)
            {
                Program.GetMain().SetResultInBrowser(null, e.InnerException.ToString(), true);
            }
            catch (Exception e)
            {
                Program.GetMain().SetResultInBrowser(null, e.ToString(), true);
            }
        }