0

当我尝试从我的服务中删除时,我得到一个 404 未找到,在客户端我使用这个:

在我的服务方面,我使用这个:

    [OperationContract]
    [WebInvoke(Method = "DELETE", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml, UriTemplate = "/Student")]
    void removeStudent(Student studentID);

    List<Student> students = new List<Student>();
    public void removeStudent(Student studentID)
    {
        students.Remove(students.Find(f => f.StudentID.Equals(studentID)));
    }
4

2 回答 2

1

默认情况下不启用 DELETE Http Verb。阅读如何解决它。

于 2012-04-11T19:27:16.277 回答
1

根据我在上面看到的内容,您正在将一些文本传递给客户端的 URL,但期待一个看起来不正确的 Student 对象。

我认为约定是 DELETE 应该具有与 GET 相同的 URI 模板。

  [WebInvoke(Method = "DELETE", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml, UriTemplate = "/{studentID}")]
    void removeStudent(string studentID);

或者

void removeStudent(int studentID);
于 2012-04-11T19:33:33.250 回答