Я хочу, чтобы мое задание таймера отображало состояние отказа при определенных условиях. Должен ли я просто выбросить исключение или что?Как показать состояние сбой в Sharepoint Timer Задание
ответ
Хасана,
Если исключение пузырьков из кода, он действительно показывает неудавшийся статус. Если вы хотите явно «провалить» свой запуск с экземпляром задания таймера, вы можете и должны исключить исключение. Это можно сделать в сочетании с установкой значения флага SPJobDefinition.Retry
в значение TRUE, если вы чувствуете, что другой пробег будет охватывать ваше «проблемное состояние».
К тому же, если вы используете исключения для регистрации в журналах (например, для записи дополнительной информации в журналы ULS - никогда не плохая идея), реконструируйте все исключения, которые вы уловите, если вы действительно не компенсируете их. Вы хотите избегать употребления исключений только для того, чтобы избежать исключения из-за указанных причин (статус исключения привязан к отчету о успехе/неудаче работы).
Я надеюсь, что это поможет!
Btw делать задания с OneTimeSchedule исчезают со страницы состояния работы при ошибке? Если да, как пользователь узнает, что работа завершилась неудачно? –
Отличный вопрос, Хасан. Прошло некоторое время с тех пор, как я написал однократное задание таймера (задание по обновлению, которое я написал для этой функции, было последним: http://blobcachefarmflush.codeplex.com), но я, похоже, помню, что неудачные задания сидеть в списке статусов - по крайней мере, на некоторый период времени. Если память служит мне правильно, она не задержалась надолго - мне пришлось более или менее опросить ее (обновив страницу состояния), прежде чем она исчезнет. –