Служба OWSTIMER в SharePoint, хранящая ссылки на сборки приемников компонентов - PullRequest
1 голос
/ 19 февраля 2011

С SharePoint вы можете использовать Feature Receiver для выполнения некоторых действий при установке / удалении компонента и т. Д.

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

  • .wsp (файл cab) распаковывается и проверяется
  • .dll перемещены в bin / gac
  • Получатели функций, отмеченные в манифесте, вызываются (могут быть только в GAC) службой

Однако OWSTIMER сохраняет дескриптор открытой на dll, содержащей получатель функции.

Это означает, что при удалении функции Fusion переместит dll в каталог c: \ windows \ temp \ и сохранит ссылку. (Подробнее здесь и здесь )

Когда вы попытаетесь установить новую версию (версия файла сборки отличается, но версия сборки должна остаться прежней) OWSTIMER запустит приемник функции OLD.

Вы можете остановить это, перезапустив службу OWSTIMER, но это не практично в среде рабочей фермы, где может быть много веб-серверов.

Кто-нибудь знает какие-нибудь обходные пути?

Ответы [ 2 ]

0 голосов
/ 25 ноября 2013

Обходных путей нет, но в производственной среде, где у вас много серверов, вам не следует вручную подключать и отключать библиотеки DLL из GAC.

При развертывании с использованием архитектуры компонентов SharePoint автоматически позаботится об этом.

Тем не менее, если вам нужно синхронизировать запуск / останов служб Windows (включая OWSTIMER и IIS) между несколькими серверами в ферме, это так же просто, как написать пакетный скрипт для использования:

SC \\SERVER1 STOP W3SVC
SC \\SERVER1 STOP SPTIMERV4
SC \\SERVER2 STOP W3SVC
SC \\SERVER2 STOP SPTIMERV4

Затем перезапустите следующее:

SC \\SERVER1 START SPTIMERV4
SC \\SERVER1 START W3SVC
SC \\SERVER2 START SPTIMERV4
SC \\SERVER2 START W3SVC
0 голосов
/ 19 февраля 2011

Сделайте iisreset между переключением функций.

Да, отключает все веб-приложения, но именно поэтому вы запланировали сбои / делаете это в нерабочее время.И убедитесь, что процесс хорошо отработан на ваших машинах разработчиков.

...