Область действия активированной функции Custom Sharepoint-Timer Job - PullRequest
1 голос
/ 03 августа 2010

Итак, я разрабатываю настраиваемое задание таймера для sharepoint с использованием SPJobDefinition.

Это задание активируется через приемник функций.

Насколько я понимаю, SPJobDefinition запускается в Интернете.application.

, если область действия компонента основана на сайте или в Интернете, есть ли способ с помощью кода определить, через какой сайт активируется функция в задании клиента?

Чтобы получить более четкое изображениеиз того, что я пытаюсь достичь, сама работа - это пользовательская работа по уведомлению «Предупреждать меня».Я хотел бы иметь возможность определить, какие сайты активировали эту функцию, чтобы определить, какие сайты подписаться на уведомления о предупреждениях.

Но я понятия не имею, как определить, какие сайты имеютэта функция активирована.

Любая помощь очень ценится.

1 Ответ

2 голосов
/ 03 августа 2010

Ниже приведен код, который я использовал, чтобы делать то, что вы описываете:

    public override void Execute(Guid targetInstanceId)
    {
        foreach (SPSite site in this.WebApplication.Sites)
        {
            try
            {
                if (SPSite.Exists(new Uri(site.Url)) && null != site.Features[FeatureId.AlertMeJob])
                {
                    try
                    {
                        ExecuteJob(site);
                    }
                    catch (Exception ex)
                    {
                        // handle exception
                    }
                }
            }
            finally
            {
                site.Dispose();
            }
        }
    }

FeatureId.AlertMeJob - это GUID, представляющий компонент с помощью приемника компонентов, который создает расписание заданий (если оно еще не существует).

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