如何在Sitecore网站上处理长时间运行?

时间:2014-07-08 11:55:40

标签: c# asp.net wordpress sitecore

我是Sitecore网站,我在网站根目录(DataImport.aspx)上创建了一个网络表单,该网站将数据从 Wordpress导入Sitecore 。在这个页面上,我编写了代码来从 Wordpress 获取博客文章,然后为每个帖子创建一个Sitecore项目&将所有媒体下载到/uploads文件夹。

此任务需要几分钟才能完成(大约10-15分钟),因为我们正在下载大量媒体文件&我在浏览器上收到"请求超时" 错误。

进行研究后,我发现如果我们更新executionTimeout中的web.config设置 它会工作正常,但即使更新到6000秒后,我仍然会得到同样的错误。

我想问的另一件事是,当我们完成这些任务时,最好的方法是什么? 比如,我应该创建后台进程还是创建Web服务?

2 个答案:

答案 0 :(得分:5)

您应该使用Sitecore作业来处理长时间运行的操作,这些操作将作为后台任务运行,非UI阻止并允许您向用户提供反馈。您甚至可以将它们作为计划任务运行。

一些参考文章:

答案 1 :(得分:1)

设置executionTimeout是正确的方法。如果将此值设置得足够高,您的进程将继续运行。您所看到的可能是您的浏览器放弃了 - 但是您的进程将在后台继续执行直到终止。如果您将任何日志记录作为工作的一部分,您将看到日志文件得到更新。