Проблема развертывания задания таймера Sharepoint при развертывании компонента через Visual Studio 2010 - PullRequest
0 голосов
/ 07 декабря 2011

Я создал «Задание таймера» двумя способами,

1. Создал проект SharePoint с помощью Visual Studio 2010 и добавил несколько компонентов и веб-частей, которые были успешно развернуты позже. Я добавил «Задание таймера» с помощью функциис областью действия «Сайт» задание таймера недоступно в «Определениях заданий».

2.При создании проекта только с функцией задания таймера оно доступно в «Определениях заданий».

Мне нужноразверните задание таймера вместе с другими функциями, как упомянуто в первом сценарии

С уважением, Паван.

Ответы [ 3 ]

0 голосов
/ 07 января 2013

Я успешно развернул задания таймера для функций, ограниченных так же тесно, как «Интернет», без проблем.

Сделав это таким образом, мне было проще связать настройки задания с конкретными экземплярами списка, и мне не нужно жестко кодировать URL-адреса семейства сайтов или что-либо еще в код задания.

Вам все еще нужно убедиться, что вы зарегистрировали его в веб-приложении, и вот как я спроектировал активацию своей функции для своей функции в веб-области:

Public Overrides Sub FeatureActivated(ByVal properties As SPFeatureReceiverProperties)

    Dim web As SPWeb = DirectCast(properties.Feature.Parent, SPWeb)


    ' Remove job if it exists.
    DeleteJobAndSettings(web.Site.WebApplication)

    ' Create the job.
    Dim job As New TimerJob_myClass(TimerJob_myClass.JobName, web.Site.WebApplication)

Кроме того, несмотря на то, что это веб-функция, которая отображается в разделе «Управление функциями», лучше пометить ее как скрытую. Этот тип функции может быть активирован только путем запуска командной строки stsadm из PowerShell. Например:

stsadm -o activatefeature -url http://intranet.contoso.local/ -id 01234567-AAAA-BBBB-CCCC-DDDDEEEEFFFF

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

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

моя проблема решена в производственном процессе путем активации функции с помощью следующего PowerShell

Enable-SPFeature -identity "sample_Job Definition" -URL http://portaluat

моя область определения задания была Сайт

0 голосов
/ 07 декабря 2011

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

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