[asp.net-mvc] asp.net 웹 API 게시 작업에서 리디렉션
저는 ASP.NET 4.0 Web API를 처음 접했습니다. POST 작업이 끝날 때 다른 URL로 리디렉션 할 수 있습니까?Response.Redirect(url)
실제로 www.abcmvc.com
Web API를 통해 MVC 응용 프로그램에서 파일을 업로드합니다 (예 : 예 www.abcwebapi.com/upload
).
다음 upload
은 POST 작업입니다. Web API 업로드 컨트롤러의 게시 작업에 여러 부분으로 구성된 양식을 게시합니다. 업로드 후로 리디렉션하고 싶습니다 www.abcmvc.com
.
이게 가능해?
답변
확실한:
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);
}