当我尝试从我的服务中删除时找不到404

时间:2012-04-11 19:10:34

标签: c# wcf web-services rest

当我尝试从我的服务中删除时,我找不到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)));
    }

2 个答案:

答案 0 :(得分:1)

默认情况下,未启用DELETE Http Verb。阅读this如何修复它。

答案 1 :(得分: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);