web-dev-qa-db-ja.com

asp.net Web APIポストアクションからリダイレクト

私は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にリダイレクトしたいと思います。

これは可能ですか?

102
Shahdat

承知しました:

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;
}
192
Darin Dimitrov

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上にある場合にのみ機能します

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

これを確認できます

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

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

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

   return Redirect(uri);
}
2
Debendra Dash