Estoy usando una fábrica de windsor de castillos para crear instancias de un objeto en función de la url de solicitud.¿Cómo puedo finalizar una respuesta y devolver el código HTTP 404?
Algo así como:
public FooViewModel Get()
{
if (HttpContext.Current == null)
{
return new FooViewModel();
}
var currentContext = new HttpContextWrapper(HttpContext.Current);
// resolve actual view model.
En algunos casos, en realidad quiero lanzar un 404 y detener la solicitud, actualmente gustaría:
throw new HttpException(404, "HTTP/1.1 404 Not Found");
currentContext.Response.End();
Sin embargo, la solicitud no termina y todavía golpea la acción e intenta resolver la vista?
Mi controlador sería algo como esto:
public class HomeController : Controller
{
public FooViewModel Foo { get; set; }
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}
Estoy pensando en esto todo mal? ¿O hay alguna manera de que pueda lograr esto?
La alternativa que estaba pensando es un atributo de la acción para verificar el estado de la propiedad Foo?
yup, Ya lo cambié a esto, veamos si hay otras sugerencias. – shenku
@shenku He actualizado mi respuesta con otro enfoque, ¿tal vez eso funcione mejor en su escenario? –