Sdílet prostřednictvím


DELETE-Methode (ADO.NET Data Services-Framework)

Die Protokolle für die Verwendung der DELETE-Methode von ADO.NET Data Services werden in den folgenden Listen und Beispielen beschrieben. Andere für Hypertext Transfer Protocol, RFC 2616 erforderliche Verhalten werden in Allgemeine HTTP-Anforderungen (ADO.NET Data Services-Framework) und PUT, POST und DELETE (ADO.NET Data Services-Framework) beschrieben.

Die folgenden Protokolle gelten für HTTP-Anforderungen, die die DELETE-Methode verwenden.

  • Wenn eine DELETE-Anforderung einen Entitätskörper umfasst, wird der Körper ignoriert und die Anforderung so behandelt, als sei kein Entitätskörper vorhanden.

  • Wenn der Anforderungs-URI einer DELETE-Anforderung eine nicht vorhandene ADO.NET Data Services-Ressource identifiziert, gibt die Anforderung den Antwortcode "404 Not Found" zurück.

  • Als Ergebnis einer erfolgreichen DELETE-Methode im Kontext einer ADO.NET Data Services-Ressource wird die vom übermittelten URI identifizierte Ressource gelöscht und ist unter diesem URI nicht mehr verfügbar.

  • Bei einer erfolgreich ausgeführten DELETE-Methode sind folgende Antworten möglich:

    • "200 OK", wenn die Antwort eine den Status beschreibende Entität enthält.

    • "202 Accepted", wenn die Aktion noch nicht durchgeführt wurde.

    • "204 No Content", wenn die Aktion durchgeführt, die Antwort jedoch keine Entität enthält.

  • Die angeforderte Aktion muss von ADO.NET Data Services abgeschlossen werden, bevor auf eine DELETE-Anforderung geantwortet wird. Erfolgreiche Löschvorgänge geben stets den Statuscode "204 No Content" zurück.

Typen, die die DELETE-Methode unterstützen

Die folgenden Beispiele zeigen die Endelemente in der Syntax des HTTP-URL-Pfads sowie die Bedingungen, unter denen die Elemente die DELETE-Methode unterstützen. Jeder Fall enthält eine Beschreibung einer DELETE-Anforderung und die vorhersehbaren Ergebnisse.

Eine DELETE-Anforderung an eine Ressource, die die DELETE-Methode unterstützt, kann fehlschlagen, wenn das Anforderungsprinzip nicht über ausreichende Rechte für die angegebene Ressource verfügt. In diesem Fall, der in Hypertext Transfer Protocol, RFC 2616 beschrieben wird, gibt die Anforderung einen 401 Unauthorized-Antwortcode oder einen 403 Forbidden-Antwortcode zurück, je nachdem, ob die Anforderung durch Angabe eines anderen Prinzips Erfolg haben könnte oder nicht.

/<EntitySet>

Im folgenden URI-Beispiel wird ein EntitySet als Endelement dargestellt.

/Customers

Beschreibung:

  • Unterstützt die DELETE-Methode nicht.

  • Um mehrere Löschvorgänge in einer einzelnen Anforderung auszuführen, muss ein Batchvorgangsendpunkt verwendet werden.

/<EntitySet>(keyPredicate)

Das folgende URI-Beispiel zeigt ein keyPredicate als Endelement.

/Customers('ALFKI')

Beschreibung:

  • Unterstützt die DELETE-Methode.

  • Führt flache Löschungen der vom keyPredicate identifizierten einzelnen Entitätstypeninstanz durch, sodass eine nachfolgende GET-Anforderung an den Entitätstyp oder eine von dessen Eigenschaften einen Antwortcode "404 Resource Not Found" zurückgibt.

  • Zusätzliche Nebeneffekte (z. B. Löschweitergaben) können für andere Ressourcen ausgeführt werden, sind jedoch nicht erforderlich.

Das folgende URI-Beispiel zeigt Navigationseigenschaften und -verknüpfungen als Endelemente.

/Customers('ALFKI')/Orders
/Customers('ALFKI')/Orders(1)
/Employee(1)/Manager

Beschreibung:

  • Unterstützt die DELETE-Methode nur für Beziehungsenden mit einer Kardinalität von 1.

  • Unterstützt die DELETE-Methode, wenn durch die Navigations- oder Verknüpfungseigenschaft eine einzelne Ressource (d. h. das "zu-1"-Ende einer Beziehung) identifiziert wird.

  • Verwendet dieselbe Semantik wie /<EntitySet>(keyPredicate)-URIs.

    • Unterstützt die DELETE-Methode.

    • Führt flache Löschungen der vom keyPredicate identifizierten einzelnen Ressourcentypeninstanz durch, sodass eine nachfolgende GET-Anforderung an den Ressourcentyp oder eine von dessen Eigenschaften einen Antwortcode "404 Resource Not Found" zurückgibt.

    • Zusätzliche Nebeneffekte (z. B. Löschweitergaben) können für andere Ressourcen ausgeführt werden, sind jedoch nicht erforderlich.

  • Unterstützt die DELETE-Methode nicht, wenn durch die Navigations- oder Verknüpfungseigenschaft mehrere Ressourcen (d. h. das n-Ende einer Beziehung) identifiziert werden.

  • Ein "405 Method Not Supported"-Antwortcode wird zurückgegeben.

/<ComplexType>

Im folgenden URI-Beispiel wird ein ComplexType als Endelement dargestellt.

/Customers('ALFKI')/Address

Beschreibung:

  • Unterstützt die DELETE-Methode nicht.

  • Das Löschen eines von der URI-Syntax identifizierten ComplexType wird in ADO.NET Data Services nicht unterstützt.

/<Property>

Das folgende URI-Beispiel zeigt eine Eigenschaft als Endelement.

/Customers('ALFKI')/FirstName

Beschreibung:

  • Unterstützt die DELETE-Methode nicht.

  • Das Löschen einer Eigenschaft wird in ADO.NET Data Services nicht unterstützt.

/<Property>/$value

Das folgende URI-Beispiel zeigt einen Eigenschaftswert als Endelement.

/Customers('ALFKI')/FirstName/$value

Beschreibung:

  • Unterstützt die DELETE-Methode.

  • Legt den Wert der Eigenschaft auf NULL fest, wenn der Typ der Eigenschaft NULL-Werte zulässt.

  • Wenn der Typ keine NULL-Werte zulässt, wird ein Fehlerantwortcode erzeugt.

  • Zu den HTTP-Antwortcodes gehören:

    • Typen, die NULL-Werte zulassen: "204 (No Content)"

    • Werte, die keine NULL-Werte zulassen: "405 Method Not Allowed"

/<ServiceOperationName>

Im folgenden URI-Beispiel werden ein serviceOperationName und Parameter des Dienstvorgangs als Endelemente dargestellt.

/CustomersByCity?city=London

Beschreibung:

  • Unterstützt die DELETE-Methode nicht.

Siehe auch

Konzepte

PUT-Methode (ADO.NET Data Services-Framework)
POST-Methode (ADO.NET Data Services-Framework)
DELETE-Methode (ADO.NET Data Services-Framework)