我正在使用 Task.Factory.StartNew(() 运行异步线程来生成站点地图。我的问题是当我调用我的方法时:
Task.Factory.StartNew(() => generator.CreateSiteMapForSite
它每次都构建站点地图。
在我的方法中,我检查它是否只需要重新生成超过一小时的文件。即使它仍然为每个请求重新生成文件,有没有办法在异步线程中处理这个?
我正在使用 Task.Factory.StartNew(() 运行异步线程来生成站点地图。我的问题是当我调用我的方法时:
Task.Factory.StartNew(() => generator.CreateSiteMapForSite
它每次都构建站点地图。
在我的方法中,我检查它是否只需要重新生成超过一小时的文件。即使它仍然为每个请求重新生成文件,有没有办法在异步线程中处理这个?
从 C# 5.0 开始,您可以使用 async 和 await 关键字,请查看此 MSDN 页面以获取更多信息:
http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx
if
如果站点地图不存在或者如果存在,您可以将任务环绕并生成一个新的,请读取文件的修改日期时间,看看它是否早于 1 小时。
更好的解决方案是设置一个计划任务以每小时运行一次并重建站点地图。
查看此问题以了解有关计划任务的更多信息。