1

我有一個沙盒解決方案,並訪問Linq-Share-Sharepoint列表。現在我將一個事件接收器附加到列表類型101,因爲我必須限制上傳到圖片庫的一些文件。這工作正常。Sharepoint事件接收器和LINQ到共享點

但是現在當我嘗試向列表中插入一個新項目時(僅適用於Linq,如果通過常規用戶界面在該列表上創建新項目,它工作正常),現在我的Linq-Share-Sharepoint會引發錯誤。

錯誤是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(字符串bstrUrl,字符串bstrListName,布爾BADD,布爾bSystemUpdate,布爾bPreserveItemVersion,布爾bUpdateNoVersion,的Int32 & PLID,字符串& pbstrGuid,的Guid pbstrNewDocId,布爾bHasNewDocId,字符串bstrVersion,對象& pvarAttachmentNames,對象& pvarAttac hmentContents,對象& pvarProperties,布爾bCheckOut,布爾bCheckin,布爾bMigration,布爾bPublish,字符串bstrFileName,ISP2DSafeArrayWriter pListDataValidationCallback,ISP2DSafeArrayWriter pRestrictInsertCallback,ISP2DSafeArrayWriter pUniqueFieldCallback)
  • 在Microsoft.SharePoint.SPListItem.AddOrUpdateItem(布爾BADD,布爾bSystem,布爾bPreserveItemVersion ,布爾bNoVersion,布爾bMigration,布爾bPublish,布爾bCheckOut,布爾bCheckin,的Guid newGuidOnAdd,的Int32 & ULID,對象& objAttachmentNames,對象& objAttachmentContents,布爾suppressAfterEvents,字符串文件名)
  • 在Microsoft.SharePoint.SPListItem.UpdateInternal(布爾b系統,布爾型bPreserveIt emVersion,的Guid newGuidOnAdd,布爾bMigration,布爾bPublish,布爾bNoVersion,布爾bCheckOut,布爾bCheckin,布爾suppressAfterEvents,字符串文件名)
  • 在Microsoft.SharePoint.SPListItem.Update()
  • 在Microsoft.SharePoint.SPListItem_SubsetProxy.Update__Inner ()
  • 在System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr的MD,對象[]指定參數時,對象服務器,的Int32 methodPtr,布爾fExecuteInContext,對象[] & outArgs)
  • 在System.Runtime.Remoting .Messaging.StackBuilderSink。SyncProcessMessage(即時聊天味精,的Int32 methodPtr,布爾fExecuteInContext)

回答

2

放置在註冊表中的以下內容:

HKEY_LOCAL_MACHINE \ SOFTWARE \政策\微軟\的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

+0

非常感謝您的回答。由於我必須從我的項目中刪除Linq-Share-Sharepoint,並且無法測試此解決方案,所以我會將其設置爲正確的答案 - 無論誰出現這種情況,請您確認它是否有效? :) – Marc

0

我面臨着同樣的問題,這個問題是一個錯誤(對象引用未設置到對象的實例),其在ItemUpdating事件接收器發生..調試應該告訴你缺什麼..

當您使用linq共享點時,AfterProperties只是由代碼更改的屬性,這與UI更新的不同之處在於所有屬性都將視爲已更改

相關問題