C# 单独的C项目报告-最佳实践?
我在一个MVC Web项目中有一些报告,它们工作得很好。但我注意到,在实时网站上,人们倾向于选择较大的报告日期范围和其他搜索条件,这将返回相当大的数据集 由于整个站点位于一个项目中的一个IIS站点上,这会导致站点的其余部分挂起,直到报表完成执行 我只是想知道处理这种情况的最佳做法是什么 是否要将报告移动到他们自己的项目和他们自己的IIS站点,并以某种方式从我的主站点指向它 是否要使报告异步C# 单独的C项目报告-最佳实践?,c#,asp.net,iis,reporting,C#,Asp.net,Iis,Reporting,我在一个MVC Web项目中有一些报告,它们工作得很好。但我注意到,在实时网站上,人们倾向于选择较大的报告日期范围和其他搜索条件,这将返回相当大的数据集 由于整个站点位于一个项目中的一个IIS站点上,这会导致站点的其余部分挂起,直到报表完成执行 我只是想知道处理这种情况的最佳做法是什么 是否要将报告移动到他们自己的项目和他们自己的IIS站点,并以某种方式从我的主站点指向它 是否要使报告异步 我可以使用视图/存储过程,但我想远离它们。生成报告不应使网站无响应。IIS能够同时处理多个请求,因此只有等
我可以使用视图/存储过程,但我想远离它们。生成报告不应使网站无响应。IIS能够同时处理多个请求,因此只有等待报告的请求才会被阻止/等待-只要网站仍有可用的请求,对网站的任何新请求都可以正常工作。我认为默认值是12个并发请求,如果所有请求都被接受,进一步的请求将排队
使用异步并等待阻塞/长时间运行的进程是一种很好的做法。这样做将在执行时释放请求,以便IIS可以提供另一个请求,直到过程完成。您使用的是哪些报告工具?在ASP.NET web表单页面中使用带有报告视图的RDLC报告时,我遇到过类似的情况-将会话设置为只读有助于解决问题-没有报告工具,只有C和Linq,没有报告工具。然后我建议您编写存储过程/视图,以便它们在数据库上执行并返回数据集,并在后端使用异步