私はASP.NET 4.0 Web APIを初めて使用します。 POSTアクションの最後に別のURLにリダイレクトできますか?... Response.Redirect(url)
など
実際には、Web API(たとえばwww.abcmvc.com
)を介して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をハードコーディングせずにWebサイトのルートにアクセスできる別の方法を次に示します。
var response = Request.CreateResponse(HttpStatusCode.Moved);
string fullyQualifiedUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority);
response.Headers.Location = new Uri(fullyQualifiedUrl);
注:MVC Webサイトと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);
}