Tôi đang cố gắng thực hiện HTTP DELETE trong C# từ mã của tôi phía sau và không thể thực hiện việc này. Sau khi nhìn vào các thành viên của loại WebRequestMethods.Http
, tôi thậm chí không chắc chắn rằng điều này là có thể.Yêu cầu DELETE HTTP
Đây là mã của tôi:
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost/NameFiles/00000.txt");
request.Method = "DELETE";
request.ContentType = "application/x-www-form-urlencoded";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
// some code
}
}
catch (Exception ex)
{
ex.ToString();
}
Chạy này từ môi trường phát triển của tôi, tôi nhận được: "Các máy chủ từ xa trở về một lỗi:. (401) trái phép"
Tôi đã nhận được kết quả khác trên máy chủ mà tôi cho rằng có liên quan đến cài đặt trong IIS: "Máy chủ từ xa đã trả về lỗi: (501) Chưa được triển khai".
Ngoài ra, như tôi đã đề cập trong nhận xét cho câu trả lời bên dưới, tôi có thể gửi yêu cầu DELETE từ trang asp cổ điển bằng cách sử dụng vbscript trên cùng một máy chủ đến cùng một vị trí như yêu cầu từ trang aspx của tôi bằng C#. Tại sao chúng lại khác nhau?
HTTP DELETE là ** cực kỳ ** bí truyền. Rất ít máy chủ web hỗ trợ nó. (vì lý do tốt!) –
@Kirk Woll - Tôi có thể làm điều này trên cùng một máy chủ với một trang asp cổ điển bằng cách sử dụng VBScript. –
Chính xác như thế nào là "bí truyền"? –