WCF服务的大型导入作业导致超时

本文关键字:超时 作业 导入 服务 大型 WCF | 更新日期: 2023-09-27 18:29:15

我有一个大型excel电子表格,需要将其转换并导入sql server数据库。我使用的是Silverlight前端,它基本上将文件发送到服务以读取并导入数据库。目前,浏览电子表格的所有行并将其转换为不同的格式并插入数据库大约需要10分钟。

UI是不可用的,并且显示加载状态,直到调用返回,但它不可避免地超时。

如果我在后台工作线程上处理作业,我是否能够从服务调用返回(在作业运行时),并告诉用户它正在导入,然后在完成或其他事情时给他们发电子邮件?

WCF服务的大型导入作业导致超时

最好先将上传的文件保存到某种队列中。队列可以是磁盘上的文件夹,也可以是数据库中的行。

让WCF服务将上载的文件存储到队列中。从队列中获得单独的服务流程文件。对每个文件完成后,让它将文件标记为完整。

在WCF服务上有一个单独的操作,客户端可以使用该操作来轮询文件是否完成(如果客户端关心的话)。