我是Sitecore网站,我在网站根目录(DataImport.aspx
)上创建了一个网络表单,该网站将数据从 Wordpress导入Sitecore 。在这个页面上,我编写了代码来从 Wordpress 获取博客文章,然后为每个帖子创建一个Sitecore项目&将所有媒体下载到/uploads
文件夹。
此任务需要几分钟才能完成(大约10-15分钟),因为我们正在下载大量媒体文件&我在浏览器上收到"请求超时" 错误。
进行研究后,我发现如果我们更新executionTimeout
中的web.config
设置
它会工作正常,但即使更新到6000秒后,我仍然会得到同样的错误。
我想问的另一件事是,当我们完成这些任务时,最好的方法是什么? 比如,我应该创建后台进程还是创建Web服务?
答案 0 :(得分:5)
您应该使用Sitecore作业来处理长时间运行的操作,这些操作将作为后台任务运行,非UI阻止并允许您向用户提供反馈。您甚至可以将它们作为计划任务运行。
一些参考文章:
答案 1 :(得分:1)
设置executionTimeout是正确的方法。如果将此值设置得足够高,您的进程将继续运行。您所看到的可能是您的浏览器放弃了 - 但是您的进程将在后台继续执行直到终止。如果您将任何日志记录作为工作的一部分,您将看到日志文件得到更新。