Автоматическое развертывание файлов ресурсов в папке App_GlobalResources центра администрирования при развертывании решения в веб-приложении. - PullRequest
2 голосов
/ 26 октября 2010

Я разрабатываю решение SharePoint 2010, которое состоит из некоторых веб-частей и других компонентов. Кроме того, для решения необходимо настроить страницы приложения в центре администрирования.

Таким образом, мое решение содержит дополнительную функцию, которая помещает настраиваемые действия в меню центра администрирования, которое ссылается на страницу приложения, предоставляющую конфигурацию. Функция имеет область действия WebApplication и использует атрибут AutoActivateInCentralAdmin, установленный на True, поэтому функция автоматически активируется в центре администрирования при развертывании решения в веб-приложении. Эта часть моего решения работает, как ожидалось.

Но у меня есть некоторые проблемы, связанные с файлами ресурсов, которые используются страницами приложения в центре администрирования, поскольку они развертываются только в папку App_GlobalResources веб-приложения, в котором развернуто решение, но не в App_GlobalResources центральной администрации.

Поэтому мне интересно, зачем использовать AutoActivateInCentralAdmin, если нет автоматического развертывания файлов ресурсов в папке App_GlobalResources центра администрирования.

Каков наилучший способ развертывания файлов ресурсов в папке App_GlobalResources центра администрирования при каждом развертывании решения в любом веб-приложении в ферме? Есть ли автоматический способ для этого?

Ответы [ 2 ]

2 голосов
/ 26 октября 2010

Здесь речь идет о ресурсах приложения (в отличие от ресурсов), и их следует развернуть в папке {SharePointRoot} \ CONFIG \ Resources. Убедитесь, что файлы ресурсов, используемые страницами приложения, развернуты в этой папке при развертывании WSP.

Когда создается новое веб-приложение, ресурсы первоначально копируются в папку App_GlobalResources, у вас все в порядке.

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

stsadm –o copyappbincontent

Или вы можете автоматизировать (что вам нужно), включив следующее в событие FeatureActivation в приемнике функций. Для ресурсов центра администрирования и карт сайта звоните

SPWebService.AdministrationService.ApplyApplicationContentToLocalServer ();

Для обычных ресурсов страницы приложения и карт сайта,

.

SPFarm.Local.Services.GetValue () ApplyApplicationContentToLocalServer ();

1 голос
/ 27 октября 2010

Для этого вам нужно создать пользовательское задание таймера.Если вы ищете в Интернете, некоторые люди уже разработали такую ​​работу.

...