Перенаправление с 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.
это возможно?
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
Вы можете проверить это
[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