Je suis très nouveau dans l’API Web ASP.NET 4.0. Pouvons-nous rediriger vers une autre URL à la fin de l'action POST?, Quelque chose comme ... Response.Redirect(url)
En fait, je télécharge un fichier depuis une application MVC (disons www.abcmvc.com
) via l'API Web (disons www.abcwebapi.com/upload
).
Ici upload
est l'action POST. Je poste un formulaire en plusieurs parties sur l'action ultérieure du contrôleur de téléchargement d'API Web. Après le téléchargement, je voudrais rediriger vers www.abcmvc.com
.
Est-ce possible?
Sûr:
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;
}
Voici un autre moyen de vous rendre à la racine de votre site Web sans coder en dur l'URL:
var response = Request.CreateResponse(HttpStatusCode.Moved);
string fullyQualifiedUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority);
response.Headers.Location = new Uri(fullyQualifiedUrl);
Remarque: Ne fonctionnera que si votre site Web MVC et WebApi se trouvent sur la même URL
[HttpGet]
public RedirectResult Get()
{
return RedirectPermanent("https://www.google.com");
}
Vous pouvez vérifier cela
[Route("Report/MyReport")]
public IHttpActionResult GetReport()
{
string url = "https://localhost:44305/Templates/ReportPage.html";
System.Uri uri = new System.Uri(url);
return Redirect(uri);
}