Пользовательский рабочий процесс SP 2010 - внутренняя ошибка WinWF, завершение рабочего процесса только при использовании DelayActivity

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

Когда я использую DelayActivity, он отлично задерживается, и приемник событий завершает обновление. Однако, когда задержка завершается, рабочий процесс завершается ошибкой. Журналы улья показывают:

  • Инфраструктура рабочего процесса ---- 88xr ------ Неожиданная ------ Внутренняя ошибка WinWF, идентификатор рабочего процесса прерывания # 5ff955a1-5135-4e54-9e90-105e11952fee
  • Инфраструктура рабочего процесса ---- 98d4 ----- Неожиданно ------ System.NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта.

Если я удалю действие задержки, рабочий процесс начнется нормально, однако нужного мне значения там нет, потому что приемник событий не обновился.

Я пробовал запустить WF из приемника событий, но он просто зависает. A while Loop также не работает, поскольку он просто продолжает зацикливаться и удерживать приемник событий от завершения обновления. Я как бы сошел с ума здесь. DelayActivity кажется лучшим способом сделать это, но эта ошибка делает невозможным использование.

Буду признателен за любую помощь.

Спасибо.


person David Drever    schedule 10.06.2013    source источник


Ответы (1)


Для всех, кто сталкивается с этой проблемой, я нашел решение, и, к сожалению, это немного ошибка PEBCAK. Сразу после завершения задержки я ссылался на значение, которое было нулевым. Однако в свою защиту я не осознавал, что это происходит. Это было связано с тем, что я не понимал, что, когда рабочий процесс «спит» между задачами \ действиями, точки останова не достигаются при повторной активации. Я все еще пытаюсь исправить это или все обстоит именно так.

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

person David Drever    schedule 12.06.2013