0
我正在編寫一個與外部應用程序接口的ASP.NET類。 Web服務器和此應用程序之間的事務處理流程如下:用於ASP.NET的非鎖定睡眠/ waitfor /延遲功能
- 我的對象將文件寫入目錄。
- 外部應用程序檢測到該文件並對其進行處理。這可能需要1-5秒。
- 外部應用程序將響應文件寫入相同的目錄。
- 我的對象檢測到響應文件並分析結果。
它可以採取外部應用程序來處理我的文件的1-5秒是我的問題。最直接的方法,以等待文件似乎是這樣的:
Do While Not File.Exists(f)
Thread.Sleep(500)
Loop
當然,Thread.sleep()方法,直到外部應用程序處理文件完全鎖定了我的網站的其餘部分。顯然,這不是一個可行的解決方案。
如何有效地「等待」我的文件被處理而不鎖定我的網站的其餘部分?
我試過FileSystemWatcher,但頁面加載在事件觸發前完成。看起來這種類型的解決方案更適合於應用程序級別的功能,但不適用於我的情況。 – dansays 2011-04-27 12:53:22
@dansays - 您可以隨時爲此工作創建一個線程。 – Oded 2011-04-27 12:55:55
我的背景主要是在網頁開發中,旋轉線程比我頭腦凌亂。粗略的Google搜索只會讓我更加困惑。您是否可以提供一個簡單的代碼示例,或者有關如何在此上下文中使用線程的解釋的鏈接? – dansays 2011-04-27 13:05:24