В моем веб-API у меня есть несколько функций [HttpGet]
, которые работают отлично, но функция [HttpDelete]
(на том же контроллере) не работает, она возвращает ошибку 404.
[Authorize]
[RoutePrefix("Users")]
public class UsersController : ApiController
{
[HttpDelete]
[Route("DeleteUser/{ID}")]
public void Delete(int id)
{
_UserRepository.Delete(id);
}
}
В web.config у меня verb
установлено значение *
:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
<remove name="FormsAuthentication" />
</modules>
<handlers>
<remove name="WebDAV" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
AJAX-вызов:
deleteUser = function (id, callback) {
$.ajax({
url: "../../API/Users/DeleteUser/" + id,
type: "DELETE",
success: function () {
callback;
}
});
}
Ошибка:
Ошибка HTTP 404.0 — модуль подробной информации об ошибке не найден. Уведомление веб-ядра IIS Обработчик MapRequestHandler StaticFile
Код ошибки 0x80070002
Запрошенный URL-адрес https://www.example.com:443/Rejected-By-UrlScan?~/API/Users/DeleteUser/155
Физический путь d:\wr\mySite\example.com\Rejected-By-UrlScan Метод входа в систему Анонимный вход Анонимный пользователь
Все вызовы аутентифицируются с помощью аутентификации OWIN и токена носителя.
Пример рабочего звонка на той же странице:
getUsers = function (callback) {
$.get("../../API/Users/GetUsers/", callback);
}
Что может вызвать это?
[Authorize]
- person Nkosi   schedule 05.07.2017