2016-01-19 2 views
0

я установил Swashbuckle в моем веб-приложение API, используя следующую инструкцию: http://bitoftech.net/2014/08/25/asp-net-web-api-documentation-using-swagger/Кураж/Swashbuckle работает в IIS Express, но не IIS

Он отлично работает, когда я запускаю его на своих локальных IIS выразить установку/Кассини и момент мой браузер на http://localhost:59988/swagger/

Однако, как представляется, не работает, когда доступ к приложению через IIS8.5, например, при http://my.localhost/swagger/

Я попадаю в/чванства/ui/index /, который выдает исключение

{"Сообщение": "Произошла ошибка.", "ExceptionMessage": "Отображение не найдено - индекс /", "Исключительный тип": "Swashbuckle.SwaggerUi.AssetNotFound" , "StackTrace": "в Swashbuckle.SwaggerUi.EmbeddedAssetProvider.GetAsset (String, String rootUrl путь) \ г \ п на Swashbuckle.Application.SwaggerUiHandler.SendAsync (HttpRequestMessage запрос, CancellationToken CancellationToken)"}

проблема, кажется, возникают из-за того, что IIS перенаправляет меня и добавляет конечную косую черту в конце URL-адреса (это также сообщение об ошибке).

У меня есть

вопрос: почему IIS добавляет конечную косую черту к URL-адресу и каковы мои варианты получения swashbuck для работы в IIS?

+1

Установили ли вы, что выходной xml также находится в вашем конфигурационном файле Release? а именно - шаг 3. – VisualBean

ответ

0

Имел ту же проблему: я попытался изменить пару настроек IIS, и Swagger перестала работать, и возврат настроек не помог.

Я сделал это, чтобы заставить его работать снова:

  1. Open C: \ Windows \ System32 \ Inetsrv \ Config \ applicationHost.config с помощью NOTEPAD (Notepad ++ или любой другой редактор не работает здесь) как администратор.
  2. Перейдите к тегу <sites> и <application> (где размещено ваше приложение для разворачивания) и убедитесь, что ничего не в порядке. Мои неправильные настройки для Swagger по какой-то причине не возвращались сюда. Ручная очистка настроек, за которыми следует iisreset, устранила проблему.
Смежные вопросы