[asp.net-mvc] asp.net 웹 API 게시 작업에서 리디렉션

저는 ASP.NET 4.0 Web API를 처음 접했습니다. POST 작업이 끝날 때 다른 URL로 리디렉션 할 수 있습니까?Response.Redirect(url)

실제로 www.abcmvc.comWeb 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);
}


답변