ich ein einzelnes Dokument aus dem Azure DocumentDB wie folgt abfragen:lesen Azure DocumentDB Dokument, das nicht existieren könnte
var response = await client.ReadDocumentAsync(documentUri);
Wenn das Dokument nicht existiert, wird dies eine DocumentClientException werfen. In meinem Programm habe ich eine Situation, in der das Dokument existiert oder nicht. Gibt es eine Möglichkeit, das Dokument abzufragen, ohne try-catch zu verwenden, und ohne zwei Rundreisen zum Server zu machen, um das Dokument anzufragen und das Dokument dann wiederzufinden, falls es existiert?
Sie würden wahrscheinlich sowieso mit Ausnahmen umgehen wollen, also scheint dies eine viel bessere Alternative zu sein als eine Preflight-Prüfung auf Existenz, IMHO. –
Die Behandlung der Ausnahme ist der bessere Ansatz, da in den meisten Fällen die Abfrage nach Id weniger RUs als eine Abfrage verwendet, die nur ein Ergebnis anhand ihrer ID findet. –
Es ist seltsam, dass wir auf Ausnahmen zurückgreifen müssen. Die Kommunikation über Ausnahmen wird in der Regel teuer, da Ausnahmen zu schwerwiegend sind und in der Regel ein Nein-Nein sind. In diesem Fall, weil dies über TCP geht, muss der Server einen Code zurückgeben und in diesem Fall ist es ein 404. So wird es ein bisschen ein notwendiges Übel. Ich mag die Idee, stattdessen eine Abfrage zu verwenden, um zu sehen, ob es Ergebnisse gibt. Das würde nicht zu einer Ausnahme führen. Der Code sieht auch komisch aus mit einem Versuch zu fangen. – FabianVal