Перенаправление из asp.net web api post action

Я очень новичок в ASP.NET 4.0 Web API. Можем ли мы перенаправить на другой URL-адрес в конце действия POST?, что-то вроде... Response.Redirect(url)

Собственно, я загружаю файл из приложения MVC (скажем www.abcmvc.com) через Web API (скажем www.abcwebapi.com/upload)

Здесь upload - это действие POST. Я размещаю многочастную форму для отправки сообщения диспетчера загрузки веб-API. После загрузки я хотел бы перенаправить обратно на www.abcmvc.com.

Возможно ли это?

Ответ 1

Конечно:

public HttpResponseMessage Post()
{
    // ... do the job

    // now redirect
    var response = Request.CreateResponse(HttpStatusCode.Moved);
    response.Headers.Location = new Uri("http://www.abcmvc.com");
    return response;
}

Ответ 2

Вот еще один способ, которым вы можете добраться до корня вашего сайта без жесткого кодирования URL:

var response = Request.CreateResponse(HttpStatusCode.Moved);
string fullyQualifiedUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority);
response.Headers.Location = new Uri(fullyQualifiedUrl);

Примечание: Будет работать только в том случае, если и ваш веб-сайт MVC, и WebApi находятся на одном URL

Ответ 3

    [HttpGet]
    public RedirectResult Get()
    {
        return RedirectPermanent("https://www.google.com");
    }

Ответ 4

Вы можете проверить этот

[Route("Report/MyReport")]
public IHttpActionResult GetReport()
{

   string url = "https://localhost:44305/Templates/ReportPage.html";

   System.Uri uri = new System.Uri(url);

   return Redirect(uri);
}