2013-11-28 3 views
0

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

Итак, я создал проект SharePoint с голубыми костями с помощью только приемника событий для списка объявлений, в который можно играть.

На itemAdded для списка типов объявлений, я просто добавляю текст в заголовок и вижу, как это происходит. Теперь я пытаюсь добавить:

throw new Exception("There was a problem with the operation with the operation.") 

или бросить новый SpException («Была проблема с работой с работой.»)

поэтому, когда я отладкой и прикрепить к месту на HTTP: // [exampleMachineName]/Dev1 siteCollection,

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

Теперь, когда я нажму F11 или зеленую стрелку (Продолжить), я ожидаю увидеть желтый экран с сообщением об ошибке или экраном с ошибкой по умолчанию из SharePoint.

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

В пользовательских веб-формах ASP.Net или MVC я бы увидел желтый экран или HTTP 500 или что-то в этом роде. Что происходит под капотом здесь и как воспроизвести желтый экран ситуации смерти, как я пытаюсь решить в нашем реальном приложении.

ответ

0

Это связано с типом получаемого вами события - ItemAdded является асинхронным приемником событий, поэтому он запускается после того, как элемент уже добавлен в список, и если в этом ресивере появляется некоторая необработанная ошибка, тогда на вашей странице http не возникает ошибки Однако он пишет сообщение об ошибке в журналах ULS. Попробуйте использовать приемник событий ItemAdding.

+0

Ох - спасибо, что работает. Теперь я получаю всплывающее диалоговое окно Error с текстом сообщения из SPexception, которое я выбрал. Так что теперь мне интересно, почему мой проект, с которым я играю, делает это, но наше настоящее приложение дает желтый экран. Может ли это быть настройка пользовательских ошибок где-то. Могли бы они отключить это? – Sam

+0

Да, это определенно настраиваемый раздел ошибок, установленный в веб-конфигурации, проверьте это http://msdn.microsoft.com/en-us/library/vstudio/ee231550.aspx. Вам нужно установить режим customErrors = «Вкл.». –

+0

Также не забудьте сделать issreset после изменения web.config. –

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