长 运行ning SQL 服务器报告,如何在异步模式下 运行 它们
Long running SQL Server reports, how to run them in async mode
我有一些长时间 运行ning SQL 服务器报告 运行 超过 10 分钟,
我怎样才能 运行 他们在他们 运行 的异步模式下,然后提醒用户它是可用的。
我使用 SQL Server 2014 并使用 Reports/RDLC 在报告查看器的 .NET 应用程序中报告 运行。
我愿意更改应用程序,但无法重写数百个报告和查询。
查询已经过优化,所以现在唯一剩下的就是让它异步。
您可以在服务器端使用一些Pub/Sub或后台作业,例如,您可以使用HangFire to schedule some background job (your report calculation), then when the job will be ready, you need somehow pass calculated data from server-side to client-side, for this you need in continuation of the job specify how this will be done, for example, this can be done using SignalR
如果你不想要任何第三方,这会有点棘手,例如,你可以根据 channels, or BlockingCollection 编写自定义 Pub/Sub 或其他任何内容。然后在客户端,您将需要使用某种使用 AJAX 请求的长拉,或者仅使用 WebSockets 以便在服务器准备好时从服务器检索数据。
我有一些长时间 运行ning SQL 服务器报告 运行 超过 10 分钟, 我怎样才能 运行 他们在他们 运行 的异步模式下,然后提醒用户它是可用的。
我使用 SQL Server 2014 并使用 Reports/RDLC 在报告查看器的 .NET 应用程序中报告 运行。 我愿意更改应用程序,但无法重写数百个报告和查询。 查询已经过优化,所以现在唯一剩下的就是让它异步。
您可以在服务器端使用一些Pub/Sub或后台作业,例如,您可以使用HangFire to schedule some background job (your report calculation), then when the job will be ready, you need somehow pass calculated data from server-side to client-side, for this you need in continuation of the job specify how this will be done, for example, this can be done using SignalR
如果你不想要任何第三方,这会有点棘手,例如,你可以根据 channels, or BlockingCollection 编写自定义 Pub/Sub 或其他任何内容。然后在客户端,您将需要使用某种使用 AJAX 请求的长拉,或者仅使用 WebSockets 以便在服务器准备好时从服务器检索数据。