2010-09-19 32 views
6

Tôi đã tạo một dịch vụ khôi phục WCF trong .NET 4 và tôi đã xuất bản nó dưới IIS 7.5/windows 7 x86. Các động từ GET và POST làm việc tốt, nhưng DELETE và PUT đưa ra một lỗi:Sự cố WebDav cho dịch vụ web WCF đầy đủ

Error: The remote server returned an error: (405) Method Not Allowed. 

Sau khi googling (rất nhiều), tôi đã phát hiện ra rằng các vấn đề gây ra bởi module WebDav được cài đặt (tự động? dunno) trong IIS. Cách tiếp cận duy nhất có hiệu quả đối với tôi là phương pháp được tìm thấy here.

Tuy nhiên, việc xóa mô-đun webdav khỏi toàn bộ trang web có phần quá xâm phạm, theo ý kiến ​​của tôi. Có ai biết cách tiếp cận khác để ngăn chặn hành động lọc trên động từ áp đặt bởi webdav, nhưng chỉ cho một ứng dụng web cụ thể, không cho toàn bộ trang web?

Cảm ơn bạn.

EDIT Tôi biết về missing put and delete still leads to restful service - nhưng tôi vẫn muốn cho phép các động từ này.

Trả lời

12

Bạn không cần xóa mô-đun cho toàn bộ trang web. Bạn có thể cấu hình các mô-đun cho mỗi ứng dụng. Phần mô-đun có sẵn trong Bảng điều khiển quản lý cho mỗi ứng dụng.

Bạn thực sự phải xóa WebDav cho ứng dụng của dịch vụ REST vì các động từ PUT và DELETE trước đây được định nghĩa cho WebDav và được WebDav tự động tiêu thụ.

+3

1: True ... Tôi đã thêm: lmsasu

Các vấn đề liên quan