示例#1
0
        private void WriteRevisionsBlittable(DocumentsOperationContext context, IEnumerable <Document> documentsToWrite, out long numberOfResults)
        {
            numberOfResults = 0;
            HttpContext.Response.Headers["Content-Type"] = "binary/blittable-json";

            using (var streamBuffer = new UnmanagedStreamBuffer(context, ResponseBodyStream()))
                using (var writer = new ManualBlittableJsonDocumentBuilder <UnmanagedStreamBuffer>(context,
                                                                                                   null, new BlittableWriter <UnmanagedStreamBuffer>(context, streamBuffer)))
                {
                    writer.StartWriteObjectDocument();

                    writer.StartWriteObject();
                    writer.WritePropertyName(nameof(GetDocumentsResult.Results));

                    writer.StartWriteArray();
                    foreach (var document in documentsToWrite)
                    {
                        numberOfResults++;
                        writer.WriteEmbeddedBlittableDocument(document.Data);
                    }
                    writer.WriteArrayEnd();

                    writer.WriteObjectEnd();

                    writer.FinalizeDocument();
                }
        }
示例#2
0
        private void WriteDocumentsBlittable(DocumentsOperationContext context, IEnumerable <Document> documentsToWrite, List <Document> includes)
        {
            HttpContext.Response.Headers["Content-Type"] = "binary/blittable-json";


            using (var streamBuffer = new UnmanagedStreamBuffer(context, ResponseBodyStream()))
                using (var writer = new ManualBlittalbeJsonDocumentBuilder <UnmanagedStreamBuffer>(context,
                                                                                                   null, new BlittableWriter <UnmanagedStreamBuffer>(context, streamBuffer)))
                {
                    writer.StartWriteObjectDocument();

                    writer.StartWriteObject();
                    writer.WritePropertyName("Results");

                    writer.StartWriteArray();

                    foreach (var document in documentsToWrite)
                    {
                        writer.WriteEmbeddedBlittableDocument(document.Data);
                    }

                    writer.WriteArrayEnd();

                    writer.WritePropertyName("Includes");

                    writer.StartWriteArray();

                    foreach (var include in includes)
                    {
                        writer.WriteEmbeddedBlittableDocument(include.Data);
                    }

                    writer.WriteArrayEnd();

                    writer.WriteObjectEnd();

                    writer.FinalizeDocument();
                }
        }