微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从c#web app调用SSIS并显示进度

我有一个SSIS包,可以将excel文件中的数据加载到数据库中.

用户转到Intranet页面(正常的c#.net 4.0 Web应用程序),选择要上载的文件,然后单击按钮.该按钮将文件复制到服务器,然后启动调用包的sql作业.这工作正常和花花公子,但用户不知道什么时候工作完成.

用户显示软件包已完成(或失败)的最佳方法是什么?

我见过像-http://www.programminghelp.com/database/sqlserver/sql-server-integration-services-calling-ssis-package-in-c/这样的链接,但这是针对C#Console Project的.使用Web应用程序执行此操作的最佳方法是什么?

解决方法

有很多方法可以做到这一点,但如果您正在寻找一种简单的方法,那么您可以使用System.Net.Mail命名空间中的 SmtpClient class在作业完成时向用户发送电子邮件. (该页面上有一个很好的,简单的代码片段,您可以轻松地重复使用.)当然,您必须设置一个发送帐户(例如,no-reply @ myAutomatedJobThing.com)并知道用户的电子邮件地址.

这是否是您的场景中的最佳解决方案是值得商榷的,但我已经看到它被用于(并自己使用)用于许多系统,其中这样的过程需要相当长的时间,比如几分钟或更长.如果您的导入只需几秒钟,那么电子邮件解决方案可能会过度.

一个更简单的AJAX风格的解决方案可能涉及浏览页面(启动后),该页面通过计时器轮询作业并在页面显示进度.即使是自动重载也可能有效.您需要的元数据是用户执行的作业的唯一标识符.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐