SharePoint COMException - PullRequest
       26

SharePoint COMException

0 голосов
/ 14 июля 2009

При добавлении или редактировании страницы в библиотеке страниц SharePoint мы получаем следующее исключение:

[COMException (0x81020016): элемент не существует Страница, которую вы выбрали, содержит элемент, который не существует. Это может иметь был удален другим пользователем. Нажмите «Домой» в верхней части страницы, чтобы вернуться на ваш веб-сайт.] в Microsoft.SharePoint.Library.SPrequestInternalClass.RenderColumn.

Странно то, что когда мы сначала выполняем «Регистрация», а затем нажимаем кнопку «Опубликовать», все работает отлично. Но нажатие кнопки «Опубликовать» напрямую генерирует эту ошибку, НО НЕ ВСЕГДА!

В библиотеке страниц есть публикация и планирование элементов, НЕТ рабочего процесса (видящий, как человек, который добавляет / редактирует страницы, также утверждающий) и основные / второстепенные версии. Мы используем тип контента, полученный из страницы публикации, и пользовательский PageLayout.

Ответы [ 2 ]

1 голос
/ 28 июля 2009

Я предполагаю, что вы используете балансировку нагрузки с 2 веб-серверами.

Тот факт, что это не происходит, всегда указывает на разницу между серверами.

Есть несколько вещей, которые вы можете проверить:

  • Все ли версии и пакеты обновлений одинаковы на обеих машинах
  • На любом из серверов установлено бета-версия программного обеспечения
  • Ваш код одинаков на обоих серверах

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

1 голос
/ 21 июля 2009

Я уверен, что вы уже проверили это, но есть ли еще информация в журналах ULS?

Также вы пытались настроить отладчик на разрыв всех исключений, и это дает вам больше информации? Перейдите к пункту Отладка, Исключения и отметьте Общеязыковые исключения во время выполнения. Затем перейдите в Инструменты, Параметры, Отладка и снимите флажок Включить только мой код. Наконец присоедините к w3wp.exe.

Если вы работаете в Windows Server 2008, вы также можете попробовать взять файл дампа в тот момент, когда отладчик сломался выше. ADPlus может помочь, если вы используете Server 2003, но у меня нет опыта работы с ним. После этого вы сможете открыть файл дампа с помощью DumpChk или WinDbg .

Редактировать: Как обсуждалось в комментариях, это код, развернутый в рабочей среде, который не может прервать свою службу. Единственный способ создать файл дампа - это программно. Посмотрите на этот вопрос Я спросил, надеюсь, это поможет вам, если вам нужно пойти по этому пути.

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

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