Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单独的C项目报告-最佳实践?_C#_Asp.net_Iis_Reporting - Fatal编程技术网

C# 单独的C项目报告-最佳实践?

C# 单独的C项目报告-最佳实践?,c#,asp.net,iis,reporting,C#,Asp.net,Iis,Reporting,我在一个MVC Web项目中有一些报告,它们工作得很好。但我注意到,在实时网站上,人们倾向于选择较大的报告日期范围和其他搜索条件,这将返回相当大的数据集 由于整个站点位于一个项目中的一个IIS站点上,这会导致站点的其余部分挂起,直到报表完成执行 我只是想知道处理这种情况的最佳做法是什么 是否要将报告移动到他们自己的项目和他们自己的IIS站点,并以某种方式从我的主站点指向它 是否要使报告异步 我可以使用视图/存储过程,但我想远离它们。生成报告不应使网站无响应。IIS能够同时处理多个请求,因此只有等

我在一个MVC Web项目中有一些报告,它们工作得很好。但我注意到,在实时网站上,人们倾向于选择较大的报告日期范围和其他搜索条件,这将返回相当大的数据集

由于整个站点位于一个项目中的一个IIS站点上,这会导致站点的其余部分挂起,直到报表完成执行

我只是想知道处理这种情况的最佳做法是什么

是否要将报告移动到他们自己的项目和他们自己的IIS站点,并以某种方式从我的主站点指向它

是否要使报告异步


我可以使用视图/存储过程,但我想远离它们。

生成报告不应使网站无响应。IIS能够同时处理多个请求,因此只有等待报告的请求才会被阻止/等待-只要网站仍有可用的请求,对网站的任何新请求都可以正常工作。我认为默认值是12个并发请求,如果所有请求都被接受,进一步的请求将排队


使用异步并等待阻塞/长时间运行的进程是一种很好的做法。这样做将在执行时释放请求,以便IIS可以提供另一个请求,直到过程完成。

您使用的是哪些报告工具?在ASP.NET web表单页面中使用带有报告视图的RDLC报告时,我遇到过类似的情况-将会话设置为只读有助于解决问题-没有报告工具,只有C和Linq,没有报告工具。然后我建议您编写存储过程/视图,以便它们在数据库上执行并返回数据集,并在后端使用异步