Очистить PowerShell Sharepoint Cache? - PullRequest
9 голосов
/ 22 февраля 2011

У меня странная проблема:

Я развернул пакет WSP, содержащий материал и шаблон сайта, используя PowerShell

Add-SPSolution ...
Install-SPSolution ...

При попытке создать новое семейство сайтов мой шаблон отображается, и я могу создать новое семейство сайтов с моим шаблоном.

Когда я пытаюсь просмотреть все установленные шаблоны сайтов с PowerShell (Get-SPWebTemplate) в том же сеансе, что и раньше , новый шаблон не появляется!

То же самое происходит и в обратном порядке: когда я убираю / удаляю решение, я больше не могу создавать новое семейство сайтов с шаблоном, так как его больше нет. Но во все еще открытом сеансе PowerShell шаблон все еще виден.

Единственное решение: открыть новый сеанс PowerShell после того, как решение было отозвано / развернуто - только в этом "новом" сеансе изменения синхронизируются.

Мой вопрос: как очистить этот кеш PowerShell? Как получить список шаблонов сайта напрямую с сервера, а не из какого-то кэша?

Какой-то другой парень также предложил закрывать / открывать PowerShell ( Кэширование PowerShell приводит к головному удару ) - это не может быть решением ...

Отказ от ответственности: Кросс-пост из «Как очистить кэш объектной модели PowerShell» .

Ответы [ 2 ]

4 голосов
/ 25 февраля 2011

Оказывается, что PowerShell на самом деле кэширует некоторые вещи, в частности OWSSVR.DLL.

Существует два (и ½) способа преодоления проблемы:

  1. Используйте отличный фрагмент PowerShell, чтобы убить поток Sharepoint и перезагрузить DLL
  2. Использовать другой сеанс PowerShell, запущенный из первого сеанса
  3. Используйте старый школьный stsadm для создания сайта, так как stsadm живет в другом потоке и, следовательно, "видит" новые шаблоны сайта уже

Я использовал метод 2 ½ (обозначенный 3), поскольку проще всего использовать однострочный stsadm вместо вызова еще одного сеанса PS.

0 голосов
/ 22 февраля 2011

Я не могу проверить отсюда, но, возможно, это как-то связано с кэшированием сети в текущей «коллекции назначений».Посмотрите на команды Start- и Stop-SPAssignment.Я не уверен, какова модель назначения по умолчанию, но я бы попробовал запустить «Stop-SPAssignment; Start-SPAssignment», чтобы посмотреть, удалит ли он текущий кэшированный SPWeb, используемый для получения шаблонов.

-Oisin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...