2

我有一个使用实体框架进行权限检查的 MVC API ActionFilterAttribute。我发现由于 ActionFilterAttribute 缓存 EF 连接经常被破坏。您可以在此处找到其他问题。那么有谁知道如何防止 ActionFilterAttributes 中的缓存?

4

1 回答 1

5

只是对您的标题的说明:我会说 MVC 中的动作过滤器没有被缓存,它们充当单例(如您提供的链接中所述)。

作为对您需求的回答,我会说使用基于请求的持久性。因为你很可能想做一些事情,比如: - OnActionExecuting() (例如打开事务) - OnActionExecuted() (提交或回滚)

所以把你的对象(_unitOfWork)放入

System.Web.HttpContext.Current.Items

您可以通过单例方法访问它,同时对请求相关的对象进行操作。我用 NHibernate Session 做类似的事情

于 2012-11-04T18:09:34.650 回答