2012-04-25 3 views
0

У меня есть небольшая проблема. Я пытаюсь добавить задание таймера после этого учебника: http://dotnetfinder.wordpress.com/2010/07/24/creatingcustomsharepointtimerjob2010/Sharepoint Timer Отладка задания Не удалось установить точку останова

Я пришел к тому, что мое задание таймера включено и запускается каждые пять минут. Проблема заключается в том, что он не выполняет весь метод Execute.

public override void Execute(Guid contentDbId) 
    { 

     // get a reference to the current site collection's content database 

     SPWebApplication webApplication = this.Parent as SPWebApplication; 

     SPContentDatabase contentDb = webApplication.ContentDatabases[contentDbId]; 

     // get a reference to the "ListTimerJob" list in the RootWeb of the first site collection in the content database 

     SPList Listjob = contentDb.Sites[0].RootWeb.Lists["Liens"]; 

     // create a new list Item, set the Title to the current day/time, and update the item 

     SPListItem newList = Listjob.Items.Add(); 

     //newList["URL"] = "http://"+DateTime.Now.ToString()+".fr"; 

     //newList.Update(); 

    } 

Я подключил отладчик к OWSTIMER.EXE. Если я попытаюсь добавить точку останова в строке: SPList ListJob = ..., это нормально, Но если я попытаюсь добавить новую точку останова на следующей строке (SPListItem newList = ...), то у меня появится следующее сообщение: : «Следующая точка останова не может быть установлена: ... CLR не удалось установить точку останова».

Кто-нибудь знает, как я могу заставить его работать?

ответ

7

Вы, кажется, подключаетесь к правильному сервису. См. How to: Debug a Timer Job, чтобы проверить свои действия.

Кроме того, как указано в этом комментарии, вы должны перезапустить службу таймера при развертывании задания таймера:

знак

11 февраля 2011 в 4:41 утра

Там является очень важным шагом, который необходимо выполнить с с любым проектом таймера. У вас есть возможность переработать службу таймера SharPoint между развертываниями. Лучший способ сделать это добавить

чистый стоп SPTimerV4 - Pre Строить

чистый старт SPTimerV4 - Сообщение Построить

к вашему Sharepoint проекта. Если вы этого не сделаете - вы будете озадачены тем, почему ваш код, похоже, не обновлен. Причиной является , что служба таймера кэширует сборку с вашим классом. Это может стоить вам часов устранения неполадок, пытаясь определить, почему ваш код не развертывается.

+0

Спасибо, я не знал, что вам нужно было остановить и перезапустить приложение SPTimer;) –

+0

Спасибо, Rich. Вы спасли мне часы, если не дни. –

+0

Отличный камень, который один !!!! Сэкономил мне день +! – Andez

1

Убедитесь, что ваша конфигурация проекта находится в режиме отладки (в режиме разрешения компилятора режим включен для оптимизированного кода). См. Это blog post

+0

Эй, спасибо за ваш ответ. Мое решение было развернуто в режиме отладки ... и оптимизация кода не проверена. Есть ли у вас какие-нибудь идеи, что еще может быть? –

Смежные вопросы