asp.net mvc运行异步线程

时间:2013-05-17 06:40:23

标签: asp.net-mvc asynchronous web

我正在运行一个异步线程,使用Task.Factory.StartNew(()来生成站点地图。 我的问题是,当我打电话给我的方法时:

Task.Factory.StartNew(() => generator.CreateSiteMapForSite

每次都会构建站点地图。

在我的方法中,我检查它是否只需要重新生成文件,如果它超过一小时。 即使它仍然为每个请求重新生成文件,有没有办法在异步线程中处理它?<​​/ p>

2 个答案:

答案 0 :(得分:0)

由于C#5.0可以使用async和await关键字,请查看此MSDN页面以获取更多信息:

http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx

答案 1 :(得分:0)

如果站点地图不存在或者如果存在读取文件的修改日期时间,则可以在if中包围任务并生成新任务,看看它是否超过1小时。

更好的解决方案是将计划任务设置为每小时运行一次并重建站点地图。

结帐this question以查找有关预定任务的更多信息。