Когда вы обновляете данные из кеша в провайдере PowerShell?

Я пишу поставщик PowerShell на C #. Провайдер предоставляет объекты домена приложений через интерфейс, похожий на диск. Например:

my:\Users\joe@blow.com
my:\Customers\Marty

Эти данные в конечном итоге поступают из базы данных.

Мне не удалось найти каких-либо подробных указаний о том, когда вам следует обращаться к базе данных за данными, а когда вы должны их кэшировать. Я обнаружил, что PowerShell много раз вызывает такие методы, как ItemExists и GetChildNames; часто повторно для одной и той же команды. Непрактично заходить в базу данных 5 или 6 раз только потому, что они, например, нажимают Tab для автозаполнения.

Но в то же время, как пользователь в командной строке, если я наберу Get- ChildItem ( dir ) и просмотрите список, затем сделайте что-нибудь вне PowerShell, чтобы я знал, что данные обновлены, взяв еще один список каталогов, следует ожидать увидеть любые изменения в базе данных.

I чувствую, что если бы я знал правильный термин для описания моей проблемы (на языке PowerShell), я мог бы найти ответ в Google или найти существующий повторяющийся вопрос, но я застрял.

6
задан Craig Celeste 29 January 2016 в 21:08
поделиться