Dotnet core web api УДАЛИТЬ ошибка 404 после развертывания на сервере IIS 8.5 - PullRequest
0 голосов
/ 31 мая 2018

Вызов удалить из угловой передней части.Ошибка показывает:

Http failure response for http://devserver.us/MyApp/api/additive/3: 404 Not Found

Метод удаления в угловом клиенте:

  onDelete(additive: Additive) {
    if (confirm("Are you sure you want to delete this additive?")) {
      var id = additive.AdditiveId;
      this._additiveService.delete(id).subscribe(result => {
        var ad = result;
        console.log(id + " has been deleted.");
        this.refresh();
      }, error => console.log(error));
    }
  }

Аддитивная служба:

  private url = this.baseUrl + "api/additive/";

  delete(id: number): Observable<Additive> {
    return this.http.delete<Additive>(this.url+id, { withCredentials: true }).catch(this.handleError);
  }

Контроллер Web Api:

    // DELETE api/<controller>/5
    [HttpDelete("{id}")]
    public IActionResult Delete(int id)
    {
        var deleteid = id;

        return NoContent();
    }

Контроллер наследует от базового контроллера API:

public class AdditiveController : BaseApiController
{
    ....

[Route("api/[controller]")]
public class BaseApiController : Controller
{
      ......

Он отлично работает в localhost, но после развертывания на сервере dev (IIS 10) все GET работают, но DELETE возвращает 404 Not Found.URL к контроллеру правильный.

веб-конфигурация разрешает все глаголы:

<handlers>
  <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>

Я проверил журнал stdout и просмотрщик событий, но они не содержат данных.

Каксделать 1. Получить подробное сообщение об ошибке или 2. Исправить это?

1 Ответ

0 голосов
/ 01 июня 2018

Оказывается, проблема была в файле конфигурации applicationHost на сервере.УДАЛЕНИЕ должно было быть явно разрешено, это не было.

...