Перенаправление с asp.net веб-api post action



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



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



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



это возможно?

591   4  

4 ответов:

обязательно:

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;
}

вот еще один способ добраться до корня вашего сайта без жесткого кодирования url:

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

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

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

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

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

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

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

   return Redirect(uri);
}

Comments

    Ничего не найдено.