Używam fabryki windsor zamku do utworzenia instancji obiektu na podstawie adresu URL żądania.Jak mogę zakończyć odpowiedź i wysłać kod HTTP 404?
Coś jak:
public FooViewModel Get()
{
if (HttpContext.Current == null)
{
return new FooViewModel();
}
var currentContext = new HttpContextWrapper(HttpContext.Current);
// resolve actual view model.
W niektórych przypadkach, tak naprawdę chcą rzucić 404 i zatrzymać żądanie, obecnie lubię:
throw new HttpException(404, "HTTP/1.1 404 Not Found");
currentContext.Response.End();
Jednak wniosek nie kończy się i nadal uderza w akcję i próbuje rozwiązać ten widok?
moim kontroler będzie wyglądać mniej więcej tak:
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();
}
ja myślę o tym wszystkim stało? Czy istnieje sposób, w jaki mogę to osiągnąć?
Alternatywa, o której myślałem, to atrybut działania, aby sprawdzić stan właściwości Foo?
Tak, zmieniłem już to, zobaczmy, czy są jakieś inne sugestie. – shenku
@shenku Zaktualizowałem swoją odpowiedź z innym podejściem, może to będzie działać lepiej w twoim scenariuszu? –