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

问题描述 投票:0回答:1

想象一下,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();
    }

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

aspnetboilerplate
1个回答
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.
 }

你有没有检查过这个?

© www.soinside.com 2019 - 2024. All rights reserved.