我正在处理的 MVC 3 项目提交/回滚我在当前会话结束时所做的任何插入/更新调用。这在大多数情况下都可以正常工作,除了现在我正在做多个插入。
当 csv 上传到站点时,每条记录都会被解析并插入到数据库中。问题是,如果一条记录插入失败,所有以前的记录都会回滚,并且所有后续尝试都会失败并出现错误:
don't flush the Session after an exception occurs
如何禁用每个会话的请求(或者我是否必须以某种方式“重新启动”事务)?
编辑:详细信息
每个请求的会话内容是在实现 IHttpModule 的类中配置的。此类采用 HttpApplication 上下文和 UnitOfWork 类。这是提交和回滚发生的地方。
上面提到的 UnitOfWork 是使用 StructureMap 注入到存储库中的。
就像我说的,这种行为对于 99% 的站点其余部分来说都很好,我只需要获取此批量更新以忽略每个请求的会话事务。或者我需要为每条新记录手动重新启动事务。我只是不知道怎么做。