共用方式為


DELETE 方法 (ADO.NET 資料服務架構)

下列清單和範例將描述 ADO.NET 資料服務之 DELETE 方法所使用的通訊協定 (Protocol)。<超文字傳輸協定,RFC 2616>(英文) 所需的其他行為描述於一般 HTTP 需求 (ADO.NET 資料服務架構)PUT、POST 和 DELETE (ADO.NET 資料服務架構) 中。

下列通訊協定適用於使用 DELETE 方法的 HTTP 要求。

  • 如果 DELETE 要求包含實體本文,系統就會忽略本文,並且將此要求視為沒有提供任何實體本文。

  • 如果 DELETE 要求的要求 URI 識別不存在的 ADO.NET 資料服務資源,此要求就會傳回「404 找不到」回應碼。

  • 在 ADO.NET 資料服務資源的內容中,成功 DELETE 方法的結果是刪除已送出 URI 所識別的資源,而且無法再於該 URI 底下使用。

  • 成功 DELETE 方法的可能回應包括:

    • 「200 確定」:如果回應包含描述此狀態的實體。

    • 「202 已接受」:如果尚未執行此動作。

    • 「204 沒有內容」:如果已經執行此動作,但是回應沒有包含實體。

  • ADO.NET 資料服務必須先完成要求的動作,然後再回應 DELETE 要求。成功的刪除作業一律會傳回「204 沒有內容」狀態碼。

支援 DELETE 方法的類型

下列範例將顯示 HTTP URL 路徑語法中的結束項目,以及這些項目支援 DELETE 方法的條件。每個案例都包含 DELETE 要求的描述以及可預測的結果。

請注意,如果要求的準則對於指定的資源沒有足夠的權限,支援 DELETE 方法之資源類型的 DELETE 要求可能會失敗。在此情況下,如<超文字傳輸協定,RFC 2616>所述,此要求會根據提供替代準則給資料服務是否可讓要求成功而定,傳回「401 未授權」回應碼或「403 禁止」回應碼。

/<EntitySet>

下列 URI 範例會將 EntitySet 顯示成結束項目。

/Customers

描述:

  • 不支援 DELETE 方法。

  • 您必須使用批次作業端點,以便在單一要求中執行多項刪除作業。

/<EntitySet>(keyPredicate)

下列 URI 範例會將 keyPredicate 顯示成結束項目。

/Customers('ALFKI')

描述:

  • 支援 DELETE 方法。

  • 針對 keyPredicate 所識別的單一實體類型執行個體 (Instance) 執行淺層刪除,讓實體類型或其中一個屬性的後續 GET 要求傳回「404 找不到資源」回應碼。

  • 其他副作用 (例如串聯式刪除) 可能會針對其他資源進行,但是並非必要條件。

/<NavigationProperty> 或 /<LinkProperty>

下列 URI 範例會將導覽屬性和導覽連結顯示成結束項目。

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

描述:

  • 只有基數等於 1 的關聯性端才支援 DELETE 方法。

  • 如果導覽或連結屬性識別單一資源 (亦即,關聯性的「一」端),便支援 DELETE 方法。

  • 使用與 /<EntitySet>(keyPredicate) URI 相同的語意 (Semantics)。

    • 支援 DELETE 方法。

    • 針對 keyPredicate 所識別的單一資源類型執行個體執行淺層刪除,讓資源類型或其中一個屬性的後續 GET 要求傳回「404 找不到資源」回應碼。

    • 其他副作用 (例如串聯式刪除) 可能會針對其他資源進行,但是並非必要條件。

  • 如果導覽或連結屬性識別許多資源 (亦即,關聯性的「多」端),便不支援 DELETE 方法。

  • 系統會傳回「405 不支援的方法」回應碼。

/<ComplexType>

下列 URI 範例會將 ComplexType 顯示成結束項目。

/Customers('ALFKI')/Address

描述:

  • 不支援 DELETE 方法。

  • 刪除 URI 語法所識別的 ComplexType 並非 ADO.NET 資料服務的支援動作。

/<Property>

下列 URI 範例會將屬性顯示成結束項目。

/Customers('ALFKI')/FirstName

描述:

  • 不支援 DELETE 方法。

  • 刪除屬性並非 ADO.NET 資料服務的支援動作。

/<Property>/$value

下列 URI 範例會將屬性值顯示成結束項目。

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

描述:

  • 支援 DELETE 方法。

  • 如果屬性的型別可為 Null,便將屬性的值設定為 Null。

  • 如果此型別不可為 Null,就會產生錯誤回應碼。

  • HTTP 回應碼包括:

    • 可為 Null 的型別 (Nullable Type):204 (沒有內容)。

    • 不可為 Null 的型別:405 不允許的方法。

/<ServiceOperationName>

下列 URI 範例會將 serviceOperationName 和服務作業的參數顯示成結束項目。

/CustomersByCity?city=London

描述:

  • 不支援 DELETE 方法。

另請參閱

概念

PUT 方法 (ADO.NET 資料服務架構)
POST 方法 (ADO.NET 資料服務架構)
DELETE 方法 (ADO.NET 資料服務架構)