Вызов Get на MVC Controller Action Возврат 404 не найден в IIS - PullRequest
0 голосов
/ 31 мая 2018

У меня есть проект ASP.net core 2.0 MVC, и я вызываю некоторые действия контроллера с помощью axios, чтобы получить JsonResult элементов базы данных из хранилища.Это работает, когда я запускаю из Visual Studio, но когда я публикую и затем размещаю на IIS, вызов axios ловит ошибку 404, не найденную.URL-адрес правильный.Даже если я попробую URL в почтальоне, мне выдадут 404 не найденных.URL это контроллер / действие.Что странно, так это действие Index, загружающее представление и не выдающее 404. Только вызов axios возвращает 404.

Работает только при запуске из Visual Studio.

Ниже приведен вызов axios

axios.get("Items/GetUnclaimedItems").then(function (response) {
        _this.items = response.data;
        _this.isBusy = false;
    }).catch(function (err) {
        alert("Error getting items. " + err);
    });

И метод внутри контроллера.

[HttpGet]
public JsonResult GetUnclaimedItems()
{
    Log.Information("Getting unclaimed items");
    var itemsList = new List<GikItemViewModel>();
    var itemsViewModel = new GikItemViewModel();
    var items = _repository.GetUnassignedItemsAsync();
    foreach (var item in items)
    {
        itemsList.Add(new GikItemViewModel
        {
            Id = item.Id,
            Description = item.Description,
            CreateDate = item.CreateDate,
            Qty = item.Qty,
            Value = item.Value,
            Selected = false,
            Donation = item.Goods == 1 ? "Goods" : item.Services == 1 ? "Services" : "Facilities"
        });

    }
    return Json(itemsList);
}
app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Person}/{action=Index}/{id?}");
            });
...