Mam działanie na moim Email
Web API 2 Kontroler:Web API 2 Metoda DELETE zawsze zwraca 500
[Authorize]
[RoutePrefix("api/Email")]
public class EmailController : ApiController {
//...
[HttpDelete]
[Route("Remove/{id}")]
private void Remove(int id) {
_repo.Remove(id);
}
}
Kiedy wywołać akcję z Skrzypek z DELETE
http://localhost:35191/api/Email/Remove/35571
(lub dowolną inną metodą) uzyskać 500
wróć do ogólnej strony błędu IIS, która nie zawiera informacji o błędzie.
Wygląda na to, że błąd występuje, zanim moja czynność zostanie wywołana, ponieważ ustawienie punktu przerwania w działaniu powoduje, że punkt przerwania nigdy nie zostanie trafiony.
Czy jest wymagana jakaś konfiguracja, aby umożliwić metody DELETE
w IIS (Express)?
Próbowałem wyraźnie pozwalając DELETE
w moim web.config:
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
ale bezskutecznie.
Czy masz SyntaxView zainstalowany w Fiddler (zwykle zawiera więcej szczegółów na temat błędu)? – Milen
Pokaż trasę. Czy posiadasz atrybut '[RoutePrefix (...)]' w 'ApiController'? Czy to jest 'api/Email'? Co więcej, zarówno twoja klasa kontrolera, jak i twoja metoda działania muszą być "publiczne". –
SyntaxView zapewnia tylko podświetloną składnią wersję strony HTML, którą daje mi IIS. –