我運行與使用Task.Factory.StartNew的異步線程(()來生成網站地圖 我的問題是,當我把我的方法:asp.net的MVC運行的異步線程
Task.Factory.StartNew(() => generator.CreateSiteMapForSite
它建立了網站地圖的每一次。
在我的方法我檢查只需要重新生成文件,如果是超過一小時以上。 即使它仍然再生每每個請求的文件,是有辦法在異步線程中處理這個問題?
我運行與使用Task.Factory.StartNew的異步線程(()來生成網站地圖 我的問題是,當我把我的方法:asp.net的MVC運行的異步線程
Task.Factory.StartNew(() => generator.CreateSiteMapForSite
它建立了網站地圖的每一次。
在我的方法我檢查只需要重新生成文件,如果是超過一小時以上。 即使它仍然再生每每個請求的文件,是有辦法在異步線程中處理這個問題?
就可以在任務包中的if
並生成一個新的,如果sitemap不存在,或者如果存在,則讀取文件的修改日期時間,看看它是否早於1小時。
更好的解決方案是設置一個計劃任務,每小時運行一次並重建站點地圖。
結帳this question找到更多的計劃任務。
由於C#5.0,你可以使用異步和的await關鍵字,看看這個MSDN頁面瞭解更多信息:
http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx
如果你想在代碼級別上獲得幫助,你應該發佈更多的代碼,因爲現在我並沒有真正明白你實際需要做什麼。 –