URL-маршруты MVC не работают после развертывания на IIS - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть приложение MVC, которое прекрасно работает на локальном компьютере, но при развертывании на IIS все маршруты возвращают 404, но не найдены.Мой браузер показывает мне в некоторых случаях макет, но не возвращает данные для этого представления, и вместо этого возвращает 404.

Я покажу вам метод, который отлично работает на локальном компьютере, но в IIS не работает.

    [Route("/Customer/CustomerDetails/{id}")]
    public async Task<IActionResult> CustomerDetails(int id)
    {
        ApiResult<eCOM_Backend.Api.Responses.Customer> apiResult = await _customerApiMethods.CustomerDetailsAsync(id);
        eCOM_Backend.Api.Responses.Customer customerFromBackend = null;

        if (!apiResult.HasException)
        {
            customerFromBackend = apiResult.Result;
        }
        else
        {
            return RedirectToAction("Error", "Error", new { reason = apiResult.Exception });
        }

        CustomerViewModel customer = customerFromBackend.ToCustomerViewModel();
        return View(customer);
    }

Когда я вызываю этот метод, например: xxx / Customer / CustomerDetails / 123, я получаю страницу, не найденную.

Я перепробовал множество решений (изменил appsettings.json, web.config и т. Д.)..) но пока ничего не получалось.

Большое спасибо!

1 Ответ

0 голосов
/ 12 декабря 2018

Похоже, это ядро ​​dotnet.Не забудьте указать правильный физический путь при публикации приложения в IIS.Как inetpub\wwwroot\YourAppName.В IIS щелкните правой кнопкой мыши свое веб-приложение> Управление веб-сайтом> Расширенные настройки и убедитесь, что физический путь к папке приложения заканчивается, а не yourApp\someOtherFolder

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...