我使用 SQL Server Reporting Service 的 web services api在 ASP.NET Web 应用程序中使用 ReportExecutionService 代理呈现报告。
我的问题是:每次生成报告时是否应该创建 ReportExecutionService 代理的新实例,还是使用单例实例是推荐的方法? (例如,出于性能原因等)。
最佳答案
您将使用什么 wcf 绑定(bind)?一般来说 - 您可以重用代理,并且在单用户单线程应用程序中这是一个好主意。
但是单例在 ASP.NET 应用程序中是一个坏主意 - 代理本身不是线程安全的。
因此,您可以创建代理并将其缓存在 session 层上(一个 session = 一个线程,我记得这是在 ASP.NET 中配置的)。
关于sql-server - SSRS Web 代理的建议生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21561883/