2015-04-23 1 views
2

Я думаю, что у меня есть такой же вопрос, как этот пост Webactivator doesn't run on IIS 7Swashbuckle работает с катаной-Owin основе веб апи не работает с IIS, но работает с IIS Express

Swashbuckle работает с катаной-Owin на основе веб-АФИ состоянии работать с IIS Express.

Предположим, что все URL-адреса ниже имеют префикс «http». я могу просматривать что-то вроде локального хоста: 8085/чванства, который перенаправляет меня правильно локального хоста: 8085/чванство/щ/индекс

Но когда опубликованы в IIS перенаправляет на локальный/чванство/UI/индекс вместо LOCALHOST/MyApp/swagger/ui/index, и это приводит к . Обратите внимание, что даже при том, что имя приложения указано при публикации, так как swashbuckle/swagger не знает и использует только путь без имени приложения.

в основном это просто подхватывает корень сайта URL вместо URL приложения, который был использован для вызова/чванство

Любое решение этой проблемы?

ответ

3

У меня такая же проблема. Сыграло это, используя следующий код (c.RootUrl)

config.EnableSwagger(c => 
      { 
       c.IncludeXmlComments(GetXmlCommentsPath()); 

       c.SingleApiVersion("v1", "yourAPI"); 

       c.RootUrl(req => req.RequestUri.GetLeftPart(UriPartial.Authority) + VirtualPathUtility.ToAbsolute("~/").TrimEnd('/')); 

      }); 

Ссылка: Relative path for UI request URL

+0

В моем случае я беру RootURL я хочу использовать от конфигурации - но в противном случае установки значения RootURL определенно решен вопрос для меня , – robnick

Смежные вопросы