我正在使用城堡温莎工厂根据请求 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 属性状态的操作属性?