Retourner http 204 "pas de contenu" au client dans ASP.NET MVC2
Dans un ASP.net MVC 2 app que j'ai je veux retourner a 204 No Content de la réponse à un post opération. La méthode courante de mon controller a un type de retour de vide, mais cela renvoie une réponse au client comme 200 OK avec un en-tête Content-Length réglé à 0. Comment puis-je transformer la réponse en 204?
[HttpPost]
public void DoSomething(string param)
{
// do some operation with param
// now I wish to return a 204 no content response to the user
// instead of the 200 OK response
}
22
demandé sur
Jeremy Raymond
2010-12-22 23:50:21
2 réponses
dans MVC3 il y a un HttpStatusCodeResult class. Vous pourriez rouler votre propre pour un MVC2 application:
public class HttpStatusCodeResult : ActionResult
{
private readonly int code;
public HttpStatusCodeResult(int code)
{
this.code = code;
}
public override void ExecuteResult(System.Web.Mvc.ControllerContext context)
{
context.HttpContext.Response.StatusCode = code;
}
}
vous devez modifier votre méthode de controller comme suit:
[HttpPost]
public ActionResult DoSomething(string param)
{
// do some operation with param
// now I wish to return a 204 no content response to the user
// instead of the 200 OK response
return new HttpStatusCodeResult(HttpStatusCode.NoContent);
}
30
répondu
Scott
2013-12-09 15:06:39
POUR INFO, j'utilise votre approche et il retourne 204 pas de contenu( juste retourner un vide), je pense que vous avez un autre problème
[HttpPost]
public void SetInterests(int userid, [FromBody] JObject bodyParams)
{
....
.....
//returning nothing
}
0
répondu
SoliQuiD
2018-04-08 15:50:27