如何在aspnetboilerplate模板中的UnitOfWork中使用SSRS报告?

时间:2017-12-20 14:18:25

标签: aspnetboilerplate

想象一下,appservice中有一种方法可以升级数据,最后通过Ssrs以Pdf格式生成报告。所有方法都是工作单元,因此在调用方法uow.CompleteAsync()之前,数据不会在服务器中提交。因此无法调用GenerateSampleReport()。为了解决这个问题,我们使用了[工作单元(Isdisabled = true))所以编写方法是这样的:

[UnitOfWork(IsDisabled =true)]
    public async Task Method()
    {
        using (var uow = UnitOfWorkManager.Begin())
        {
            //some data manipulation

            await uow.CompleteAsync();
        }

        var pdfFile GenerateSampleReport();
    }

但是,在提供报告时,如果存在任何异常,则无法生成报告,并且必须回滚数据操作(有关数据完整性的问题)。如何解决问题?

1 个答案:

答案 0 :(得分:0)

你不应该开始自己的工作单位。并且不要禁用UnitOfWork。通常,如果Method()是一个应用程序服务方法,那么这应该可以正常工作。

 public async Task Method()
 {
       //some data manipulation... 
       var pdfFile GenerateSampleReport();//if any exception occurs in this line, the db transaction will be rolled back.
 }
你以前检查了吗?