Неверный URL в Response.Redirect () - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь сделать свою документацию Swagger домашней страницей в моем API, используя следующий код:

var uri = new Uri(HttpContext.Current.Request.Url.ToString());            
var swaggerUri = new Uri(uri.GetLeftPart(UriPartial.Path) + "/api/doc/index").ToString();

//Check if the Uri points to localhost
if(uri.ToString().Contains("127.0.0.1"))
     app.Run(async ctx => { ctx.Response.Redirect($"{HttpContext.Current.Request.ApplicationPath}api/doc/index"); });
else
     //Problem here
     app.Run(async ctx => { ctx.Response.Redirect(swaggerUri); });

Переменная swaggerUri устанавливает правильный URL-адрес пути, содержащего документацию Swagger, но при развертыванииApi на IIS app.Run(async ctx => { ctx.Response.Redirect(swaggerUri); }) перенаправляет на следующий URL:

http://testes/webapiapi/doc/index

вместо

http://testes/webapi/api/doc/index

пропускает косую черту после /webapi.

* Изменения сделаныдля лучшего разрешения проблемы.

...