127 votes

Redirection à partir d'asp.net web api action post

Je suis très nouveau pour ASP.NET 4.0 API Web. Peut-on rediriger vers une autre URL à la fin de l'action POST?, quelque chose comme ... Response.Redirect(url)

En fait j'ai télécharger le fichier à partir d'une application MVC (disons www.abcmvc.com) par le biais de l'API Web (disons www.abcwebapi.com/upload)

Ici, upload est le POST de l'action. Je poste une partie multi-forme de l'API Web de téléchargement de contrôleur de l'action post. Après le téléchargement j'aimerais redirection www.abcmvc.com.

Est-ce possible?

237voto

Darin Dimitrov Points 528142

Assurez-vous:

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;
}

28voto

sttaq Points 633

Voici une autre façon que vous pouvez obtenir à la racine de votre site web sans codage en dur l'adresse url:

var response = Request.CreateResponse(HttpStatusCode.Moved);
string fullyQualifiedUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority);
response.Headers.Location = new Uri(fullyQualifiedUrl);

Note: Ne fonctionne que si les deux de votre site web MVC et WebApi sont sur la même URL

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X