Правильный способ вызова SPsite в spjobDefinition в Sharepoint - PullRequest
1 голос
/ 16 ноября 2011

Каков наилучший способ получить SPSite в методе выполнения задания Sharepoint JobDefinition?

Я использую следующий код:

SPServer ms = SPServer.Local;
SPSite msite = new SPSite(server);

Но он не работает при реализациив ферме Sharepoint ... и если я попытаюсь

SPSite msite = SPContext.Current.Site;

, это не сработает, поскольку SPContext не существует при выполнении задания ...

Есть идеи?.

Спасибо ... !!!

1 Ответ

3 голосов
/ 16 ноября 2011
SPFarm farm = SPFarm.Local;    
SPWebService webService = farm.Services.GetValue<SPWebService>("");
SPWebApplication webApplication = webService.WebApplications["Web Application name"];
foreach (SPSite site in webApplication.Sites)    
{
    // ...
}

Для заданий таймера в области веб-приложений вы также можете использовать свойство SPJobDefinition.Parent и привести его к типу SPWebApplication.

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