Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.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# 通过web服务执行长时间运行的SP的替代解决方案_C#_Asp.net_Sql Server - Fatal编程技术网

C# 通过web服务执行长时间运行的SP的替代解决方案

C# 通过web服务执行长时间运行的SP的替代解决方案,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我需要告诉数据库处理程序它应该运行一个生成300-500MB数据的脚本,然后通知我的C#应用程序脚本已经完成 之后,我需要将新创建的数据发送到我的C#应用程序,对其进行操作,然后将其发送到FTP服务器 一种方法是通过web服务调用SQL server,让数据库处理程序运行脚本,然后返回数据。然后,C#应用程序将处理数据,并最终通过FTP发送数据。但是,由于数据的大小和脚本的运行时间约为1小时,这种方法远远不是最佳方法 有没有更好的解决方案的建议 编辑:我忘了提到一些重要的部分。SSIS也是我想到

我需要告诉数据库处理程序它应该运行一个生成300-500MB数据的脚本,然后通知我的C#应用程序脚本已经完成

之后,我需要将新创建的数据发送到我的C#应用程序,对其进行操作,然后将其发送到FTP服务器

一种方法是通过web服务调用SQL server,让数据库处理程序运行脚本,然后返回数据。然后,C#应用程序将处理数据,并最终通过FTP发送数据。但是,由于数据的大小和脚本的运行时间约为1小时,这种方法远远不是最佳方法

有没有更好的解决方案的建议


编辑:我忘了提到一些重要的部分。SSIS也是我想到的东西。问题是数据库位于另一台服务器上,该服务器没有打开通过FTP发送的端口。

我将把它作为一项服务来实现。使用web服务允许用户请求执行脚本(将请求排入队列),但实际执行服务中的脚本(读取队列并执行操作)。您可以从服务内部更好地控制整个数据收集和交付过程。

我自己的策略是开发一个独立的应用程序(安装在服务器上)来执行数据检索、操作和FTP传输。此应用程序可以通过ASP.NET应用程序中的代码执行,这可能是一些用户交互的结果,并且可以更新数据库的进度,以便用户可以通过ASP.NET web界面获得一些反馈(ajax轮询或加载状态页)。

您考虑过使用SSI吗?它真正有用的一点是控制以数据为中心的多步骤工作流