0

サービスから DELETE しようとすると、404 not found が表示されます。クライアント側でこれを使用します。

私のサービス側では、これを使用します:

    [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

DELETEHttp動詞はデフォルトでは有効になっていません。これを修正する方法を読んでください。

于 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 に答える