我正在使用Castle Windsor工厂根据请求的URL实例化一个对象。
类似这样:
类似这样:
public FooViewModel Get()
{
if (HttpContext.Current == null)
{
return new FooViewModel();
}
var currentContext = new HttpContextWrapper(HttpContext.Current);
// resolve actual view model.
在某些情况下,我实际上想返回一个404状态码并停止请求,目前的代码如下:
throw new HttpException(404, "HTTP/1.1 404 Not Found");
currentContext.Response.End();
然而请求并没有结束,它仍然命中了Action并尝试解析视图?
我的控制器看起来类似于这样:
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();
}
我考虑的是否有误?或者说有没有一种方法可以实现这个目标?
我想到的替代方法是,在操作中设置一个属性来检查Foo属性的状态?