2010-02-24 2 views
2

Oh SharePoint ...Ошибка Неизвестная SPRequest SharePoint. Дополнительная информация: 0x80070005

Я создал пользовательский приемник событий, который проверяет только некоторые поля из списка и при необходимости изменяет некоторые из них.

Тем не менее, он бросает это исключение: произошло

Неизвестный SPRequest ошибка. Более подробная информация: 0x80070005 ОШИБКА: Ошибка вызова идентификатор задания {C67EFFCB-607А-4B6A-8C90-60F615FD1878}

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

SPSecurity.RunWithElevatedPrivileges(delegate() 
      { 
       using (SPSite site = new SPSite(siteId)) 
       { 
        this.DisableEventFiring(); 
        // Logic code. 
        // ... 
       } 
      }); 

Но удаление его потребуется перекомпилировать и перераспределить. Думал, было бы лучше попросить сначала убедиться.

В производственной среде у нас есть два сервера: один для сайтов и один для базы данных. Активный каталог также реализован и полностью функциональен. И для того, что я проверил, у всех учетных записей есть разрешение «создать дочерний узел» в Центре администрирования, как показано в другом разделе.

Значит, любые идеи?

Заранее спасибо.

ответ

3

Проблема решена.

После записи журналов и исключений из txt-файлов и ввода в заблуждение журналом sharepoint, что действительно происходило, было то, что имя столбца было неправильным в моем коде. Поскольку это очень специфическая настройка, у нее были некоторые имена столбцов, написанные буквально в коде. У одного из них был «_» вокруг него, как _Column_ В СПИСКЕ, В ШАРЕПОТЕНОМ.

Но, как это происходит в SQL, у него не было «_».

Оглядываясь назад, кажется, что кто-то создал список, а затем переименовал его. Поэтому, когда вы создаете список, он регистрирует в SQL FIRST имя столбца. Если вы измените его, он не будет изменен на SQL, он будет изменен в списке в SharePoint, но имя столбца в SQL по-прежнему будет иметь свое первоначальное имя ...

Если вы уже знали, что поздравляете, потому что это было таким нахождением для меня ...

+0

Вы изменили InternalName в столбце? Потому что вы можете изменить отображаемое имя, если хотите. –

+0

Ну, я бы предпочел не с этим справиться. Они изменили отображаемое имя, внутренние кадры остались неизменными ... и, как это происходит в SQL, он еще более запутан. Итак, я просто перестрою EventReceiver и оставлю это в покое. Спасибо за подсказку. – Smur

0

Что о попытке использовать

this.DisableEventFiring(); 
try 
{ 
    using (SPSite site = new SPSite(siteId, properties.Site.SystemAccount.UserToken) { 

    } 
} 
finally 
{ 
this.EnableEventFiring(); 
} 

Ofcourse вы не можете без RunWithElevatedPrivileges, если вы хотите изменить некоторые файлы в файловой системе, но в противном случае она может помочь.

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