我正在用C#編寫一個PowerShell提供程序。該提供程序通過類似驅動器的界面公開應用程序域對象。例如:在PowerShell Provider中,您何時刷新vs緩存數據?
my:\Users\[email protected]
my:\Customers\Marty
該數據最終來自數據庫。
我一直無法找到任何關於何時應該訪問數據庫以獲取數據以及何時應該緩存數據的重要指導。我發現PowerShell多次調用像ItemExists和GetChildNames這樣的方法;經常爲同一個命令重複。例如,僅僅因爲他們按Tab鍵進行自動完成,訪問數據庫5到6次是不切實際的。
但在同一時間,因爲在命令提示符下一個用戶,如果我輸入Get-ChildItem
(dir
),看看名單,然後做一些PowerShell的外面,讓我知道數據被刷新,同時另一個目錄列表應該期待查看數據庫的任何更改。
我覺得如果我知道正確的術語來描述我的問題(用PowerShell的說法),我可以谷歌答案或找到現有的重複問題,但我卡住了。
「軟件工程中存在兩個難題:命名,緩存失效和關閉一個錯誤。」 – Richard