In .NET SDK 1.9.5 Sie ResourceResponse.ResponseStream zugreifen:
[HttpGet]
public async Task<HttpResponseMessage> GetDocumentById(string id)
{
var documentUri = UriFactory.CreateDocumentUri(database.Id, collection.Id, id);
var resourceResponse = await _client.ReadDocumentAsync(documentUri);
resourceResponse.ResponseStream.Position = 0;
using (StreamReader reader = new StreamReader(resourceResponse.ResponseStream, Encoding.UTF8))
{
var response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(reader.ReadToEnd(), Encoding.UTF8, "application/json");
return response;
}
}
Leider hat FeedResponse Klasse nicht eine ähnliche Funktionalität bieten noch. Es gibt eine UserVoice-Anfrage here, aber bisher keine offizielle Antwort.
Edit: in meinen Tests sehe ich etwa 20..50ms schnellere Ergebnisse für Standard "Person" Stil Klasse mit ResponseStream, im Vergleich zu Deserialisierung-Serialisierung.
Vielen Dank für die schnelle Antwort. Json zu Deserialized-Objekt zurück zu Json (für Client), scheint einige unnötige Arbeit (vor allem, wenn wir Deserialisierung nicht benötigen). Haben Sie einen Weg gefunden, dies zu lösen, oder muss Microsoft eine Lösung anbieten? Danke -Soma. –
Nein, wir deserialisieren POCO-Objekte. Wir haben uns im Februar mit dem DocDB-Team getroffen und die gleiche Frage gestellt, und sie hatten zu der Zeit keinen Weg damit. Ich denke, ich erinnere mich, dass sie an dieser Funktion für eine zukünftige Version arbeiten werden. Die Plattform ist noch jung und sie veröffentlichen ständig neue Funktionen. – cnaegle