不知道標題是否涵蓋了該問題,但是它出現了。C#共享Classlib - >向webforms和/或控制檯顯示進度應用程序
我有一個項目:
- 一個網站:web表單(Aps.net 4,C#),用戶可以上傳文件,與它們進行交互和手動觸發一些批處理
- 一個CLASSLIB與處理的所有業務邏輯
- 在客戶位置的計算機上運行的應用程序,計劃通過SFTP將文件上載到我們的服務器。
- 在服務器上計劃的控制檯應用程序,並對由SFTP上載的文件執行批處理。
'重用客戶'使用SFTP應用程序,其他人使用該網站。
控制檯應用程序和網站都使用相同的classlib。
我可以使用什麼機制將日誌/進度信息發送到網站或控制檯應用程序,而無需實施兩個classlib?我不希望classlib知道它是由控制檯應用程序或網站調用的。例如,他們也共享相同的設置。等等。
有什麼想法?
舉動共享庫在自己的線程所做的工作,你有最好的後臺工作的解決方案和解決方案的事件都沒有你的lib綁定到一個BackgroundWorker對象。但要小心使用線程時增加的複雜性! –
Offcourse,可以在另一個線程上執行businesslogic。但是,這會帶來一些額外的工作,因爲您要確保事件處理程序在正確的上下文中執行。 :) –
所以你想要一個進度報告事件處理程序在同一個線程中運行呢?因此,如果像在這種情況下該進度報告是關於通過http發送數據一樣,您想同時阻止這項工作?這裏的標準是在執行期間報告進度/日誌,而不是在執行之後。 – edvaldig