1

サンドボックスソリューションがあり、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、String bstrListName、Boolean bAdd、Boolean bSystemUpdate、Boolean bPreserveItemVersion、Boolean bUpdateNoVersion、Int32&plID、String&pbstrGuid、Guid pbstrNewDocId、Boolean bHasNewDocId、String bstrVersion、Object&pvar Object&pvarProperties、Boolean bCheckOut、Boolean bCheckin、Boolean bMigration、Boolean bPublish、String bstrFileName、ISP2DSafeArrayWriter pListDataValidationCallback、ISP2DSafeArrayWriter pRestrictInsertCallback、ISP2DSafeArrayWriter pUniqueFieldCallback)
  • Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd、Boolean bSystem、Boolean bPreserveItemVersion、Boolean bNoVersion、Boolean bMigration、Boolean bPublish、Boolean bCheckOut、Boolean bCheckin、Guid newGuidOnAdd、Int32&ulID、Object&objAttachmentNames、Object&objAttachmentContents、 )。
  • Microsoft.SharePoint.SPListItem.UpdateInternal(ブールbSystem、ブールbPreserveItemVersion、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、Object [] args、Object server、Int32 methodPtr、Boolean fExecuteInContext、Object []&outArgs)で
  • System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg、Int32 methodPtr、Boolean fExecuteInContext)で
4

2 に答える 2

2

レジストリに以下を配置します。

HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ 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

于 2013-02-22T20:03:34.870 に答える
0

私は同じ問題に直面し、問題はItemUpdatingイベントレシーバーで発生しているエラー(オブジェクト参照がオブジェクトのインスタンスに設定されていない)でした。デバッグにより、何が欠落しているかがわかります。

linqを使用してSharePointを使用する場合、AfterPropertiesはコードによって変更されるプロパティのみであり、すべてのプロパティが変更されたと見なされるUI更新とは異なります。

于 2014-09-06T19:53:21.387 に答える