asp.net-mvc – UnitOfWork in Action Filter似乎是缓存
我有一个使用IoC(Unity)的MVC 3网站,我的模型是与EF4和POCO一起生成的.我正在使用一个动作过滤器来提交我的UnitOfWork:
public class UseUnitOfWorkAttribute : ActionFilterAttribute,IActionFilter { private readonly IUnitOfWork _unitOfWork; public UseUnitOfWorkAttribute() { _unitOfWork = IoCFactory.Instance.CurrentContainer.Resolve<IUnitOfWork>(); } void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext) { _unitOfWork.Commit(); } void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext) { } } 但是,即使Commit()似乎被触发了,它似乎在缓存它认为是“脏”的. 例如,在我的控制器中,以下操作从服务类执行: var user = _userRepository.Single(u => u.Id == 2); user.DateAdded = DateTime.Now; 每当我做一个新的解决方案的构建并且击中这个控制器动作,这个改变实际上是提交的.然而,对控制器的连续命中并不做任何事情. 另一方面,如果我将一个UnitOfWork放在我的控制器中,并按照服务方法调用进行提交,它将按预期的方式工作(每当我请求控制器操作时): public AccountController() { _unitOfWork = IoCFactory.Instance.CurrentContainer.Resolve<IUnitOfWork>(); } public ActionResult Test() { var user = _userRepository.Single(u => u.Id == 2); user.DateAdded = DateTime.Now; _unitOfWork.Commit(); } 所以看起来好像有些缓存正在进行,但是我无法弄清楚缓存是什么 – UnitOfWork,ActionFilter或者存储库. 任何想法可能会发生什么?如果没有,任何想法我可以做什么来排除故障? 提前致谢. 解决方法
您正在动作过滤器的构造函数中初始化您的工作单元,这意味着在动作过滤器被实例化时将被注入.报价从
ASP.NET MVC 3 release notes:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET C#图形路径形状
- asp.net-mvc – MVC – 一次创建对象和相关对象
- asp.net-core – VS2017 RC Web部署 – ERROR_CERTIFICATE_
- asp.net – 在Global.asax方法中将与Autofac注册的组件的相
- asp.net-mvc – ASP.NET MVC Validationsummary with exclu
- asp.net-mvc-3 – 如何将数据自动完成HTML属性添加到TextBo
- Asp.net SignalR 让实时通讯变得如此简单
- asp.net – HTML属性bgcolor已被弃用:使用什么?
- ASP.NET Web API 2:通过本机移动(iOS)应用程序与外部提供程
- asp.net-mvc-3 – MVC3剃须刀:是否可以渲染传统的ASCX?
- 如果是Razor DisplayFor和TextBoxFor MVC4中的其
- asp-classic – 经典asp运行的用户是什么?
- asp.net-mvc – DesignPatterns:哪个最适合用于
- asp.net – 适用于Linq To SQL DAL的静态方法吗?
- ASP.NET中实现把Json数据转换为ADO.NET DataSet对
- asp.net-mvc – 根据Model值为元素添加样式
- 为什么我需要在ASP.NET控件上调用处理?
- asp.net-mvc – 如何在我的Asp.net Mvc中使用lin
- ef-code-first – 如何通过使用Identity ASP.NET
- ASP.NET MVC 5表单验证和错误处理