在哪里放置应该在每个视图上运行的常见业务逻辑的好地方?

时间:2014-09-28 01:10:18

标签: c# asp.net asp.net-mvc

我有一个项目,我需要检查并添加一个cookie,无论用户当前在哪个视图。我可以将代码放在代码块中的_Layout局部视图中,但我怀疑它是传统的地方。它应该去哪里?

1 个答案:

答案 0 :(得分:3)

查看通常是错误的放置逻辑的地方。

动作过滤器是集中代码并允许轻松自定义的一种可能方式,尤其是对于听起来非常接近AuthorizeAttribute过滤器行为的内容。

有关信息,请参阅Action Filtering in ASP.Net MVC

public class MyCookieFilter : ActionFilterAttribute ...

[MyCookieFilter]
public ActionResult Index()
{
    // The action method logic.
}

旁注:在搜索文档时要小心区分MVC和WebAPI类 - 许多类具有相似的名称和相似的行为,但在应用于错误的对象时会引起一些混淆。