Приемник событий Sharepoint и LINQ для Sharepoint
У меня есть изолированное решение и доступ к некоторым спискам с помощью Linq-to-Sharepoint. Теперь я прикрепил приемник событий к типу списка 101
потому что я должен ограничить некоторые файлы, загружаемые в библиотеки изображений. Это отлично работает.
Но теперь мой Linq-to-Sharepoint выдает ошибку, когда я пытаюсь вставить новый элемент в список (только с Linq, он работает нормально, если я создаю новые элементы в этом списке через обычный пользовательский интерфейс).
Ошибка 0x81020089
с сообщением The sandboxed code execution request was refused because the Sandboxed Code Host Service was too busy to handle the request.
но сообщение просто по умолчанию, так как служба хоста не слишком занята, и 0x81020089 является своего рода проблемой с приемником событий.
Все работает нормально, если я не присоединяю приемник событий, но при этом возникает ошибка - даже если в приемнике событий вообще нет кода.
Есть идеи?
Сообщение об ошибке
0x81020089 Запрос на выполнение изолированного кода был отклонен, так как служба узла изолированного кода была слишком занята для обработки запроса.
Трассировка стека серверов
- в Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)
- на Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, струнного bstrListName, булевой Badd, Boolean, Boolean bSystemUpdate bPreserveItemVersion, булевой bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, булевой bHasNewDocId, струнного bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, логическое значение bCheckOut, логическое значение bCheckin, логическое значение bMigration, логическое значение bPublish, строка bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertFallPallUfeCallBack
- в Microsoft.SharePoint.SPListItem.AddOrUpdateItem (Boolean Badd, Boolean, Boolean bSystem bPreserveItemVersion, Boolean, Boolean bNoVersion bMigration, Boolean, Boolean bPublish bCheckOut, булевой bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, булевых suppressAfterEvents, струнного файла)
- в Microsoft.SharePoint.SPListItem.UpdateInternal(логическое значение bSystem, логическое значение bPreserveItemVersion, Guid newGuidOnAdd, логическое значение bMigration, логическое значение bPublish, логическое значение bNoVersion, логическое значение bCheckOut, логическое значение bCheckin, логический элемент bCheckin, логическое выражение файла
- в Microsoft.SharePoint.SPListItem.Update()
- в Microsoft.SharePoint.SPListItem_SubsetProxy.Update__Inner()
- в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(аргументы IntPtr md, Object[], сервер объектов, Int32 methodPtr, логический fExecuteInContext, Object[]& outArgs)
- в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(сообщение IMessage, Int32 methodPtr, логическое значение fExecuteInContext)
2 ответа
Поместите в реестр следующее:
HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Политики \Microsoft\Windows NT\RPC
Этот ключ просто должен присутствовать. Вам не нужно значение. Кроме того, вам нужно будет поместить этот ключ в каждый реестр, в котором работает служба узла изолированного кода. Как только вы это сделаете, я бы порекомендовал вам перезагрузить машину.
Вот отличная статья в блоге по этому вопросу. http://blogs.msdn.com/b/sharepointdev/archive/2011/02/08/error-the-sandboxed-code-execution-request-was-refused-because-the-sandboxed-code-host-service-was-too-busy-to-handle-the-request.aspx, к ручке-The-request.aspx
Я столкнулся с той же проблемой, и проблема заключалась в ошибке (ссылка на объект не установлена на экземпляр объекта), которая происходит в приемнике событий ItemUpdating. Отладка должна сообщить вам, чего не хватает..
когда вы используете linq для совместного использования, свойства AfterProperties представляют собой только свойства, которые изменяются кодом, что отличается от обновления пользовательского интерфейса, где все свойства будут считаться измененными.