Czy ktoś może rzucić światło na to? Czuję, że zmarnowałem cały dzień, polując i przeszukując internet, szukając informacji o tym, jak to zrobić. Stworzyłem bardzo prostą usługę WCF REST. Jest to w zasadzie dowód koncepcji. Mam za sobą prostą bazę danych i próbuję ją uruchomić, aby móc przeglądać, tworzyć, aktualizować i usuwać elementy. W tej chwili mam tylko podgląd i aktualizację. Zrobię to później. Na razie nie mogę zrozumieć, dlaczego usuwanie nie działa. Niemal wszystko, co znalazłem do tej pory, mówi mi, że muszę wyłączyć moduł WebDAV. Zrobiłem to, a potem dostałem PUT do pracy. Ale nie mogę sprawić, żeby DELETE działało. Ilekroć próbuję wywołać DELETE za pośrednictwem mojej usługi otrzymuję następujący błąd:Dlaczego błąd HTTP DELETE zwraca błąd 405 - metoda niedozwolona dla mojej usługi RESTful WCF działającej w IIS 7.5?
Serwer zdalny zwrócił nieoczekiwaną odpowiedź: (405) Metoda niedozwolona.
Wygląda więc na to, że gdzieś na moim serwerze nie zezwala na czasownik DELETE. Ale dla mojego życia nie mogę tego rozgryźć. Sprawdziłem już mapowanie programu Handler, a program obsługi pozwala na użycie wszystkich czasowników dla rozszerzenia .SVC. Wyłączyłem WebDAV. Nie jestem pewien, gdzie jeszcze szukać. Używam usług IIS 7.5 w systemie Windows Server 2008 R2.
(mogę dostarczyć kod, jeśli to pomoże w ogóle)
Dzięki, Corey
Poprzez IIS GUI, przejdź do modułów ** ** i ** Handler Mappings ** usunąć. Dzięki Maxisam! – mcNux
To działało dla mnie, mimo że WebDAV był już skonfigurowany do zezwalania na DELETE i był również skonfigurowany z Allow Verb Filtering: false. –
To było wszystko, co musiałem zrobić, aby uzyskać metody PUT i DELETE z 405 w mojej usłudze WCF RESTful. Dziękuję Ci. – kurt