我有一个简单的沙箱解决方案,它有一个Web部件(它通过Linq加载数据,但我认为这不是重点),在我的开发机器上一切都很好。
当我在另一台机器上安装此解决方案并将Web部件添加到页面时,我会出现以下异常。但我不知道为什么以及该做什么,我认为这与我的解决方案无关,因为我在堆栈跟踪中看不到任何对我的应用程序的引用。
知道吗?
Web部件错误:部分信任应用程序域中的沙盒代码包装器的Execute方法引发了未处理的异常:发生了意外错误。
[SSPUserCodeSolutionExecutionFailedException:部分信任应用程序域中的沙盒代码包装器的Execute方法引发了未处理的异常:发生了意外错误。]
服务器堆栈跟踪:
位于Microsoft.SharePoint.UserCode.SSPUserCodeApplicationHostAppDomainRef.Execute(类型userCodeWrapperType,SPUserCodeCachedAssemblyGroup userAssemblyGroup,Guid siteCollectionId,Byte[]binaryUserCodeToken,Byte[]proxyOperationToken,SPUserCodeExecutionContext executionContext,布尔shouldUsageLog,Int32 currentProcessId)
位于Microsoft.SharePoint.UserCode.SSPUserCodeApplicationHostAppDomainRef.Execute(类型userCodeWrapperType,SPUserCodeCachedAssemblyGroup userAssemblyGroup,Guid siteCollectionId,Byte[]binaryUserCodeToken,Byte[]proxyOperationToken,SPUserCodeExecutionContext executionContext,布尔shouldUsageLog,Int32 currentProcessId)
位于Microsoft.SharePoint.UserCode.SSPUserCodeAppDomain.Execute(类型userCodeWrapperType,SPUserCodeCachedAssemblyGroup userAssemblyGroup,Guid siteCollectionId,Byte[]binaryUserCodeToken,Byte[]proxyOperationToken,SPuserCode executionContext executionContext,Boolean shouldUsageLog,Int32 currentProcessId)
位于Microsoft.SharePoint.UserCode.SSPUserCodeWorkerProcessProxyForShim.ExecuteInternal(类型userCodeWrapperType,SPUserCodeCachedAssemblyGroup userAssemblyGroup,Guid siteCollectionId,Byte[]binaryUserCodeToken,Byte[]proxyOperationToken,SPuserCode executionContext executionContext)
位于Microsoft.SharePoint.UserCode.SSPUserCodeWorkerProcessProxy.Execute(类型userCodeWrapperType,SPUserCodeCachedAssemblyGroup userAssemblyGroup,Guid siteCollectionId,Byte[]binaryUserCodeToken,Byte[]proxyOperationToken,SPuserCode executionContext executionContext)
在System.Runtime.Remoting.Messageing.StackBuilderSink._PrivateProcessMessage(IntPtr md,Object[]args,Object server,Int32 methodPtr,Boolean fExecuteInContext,Object[]&outArgs)
在System.Runtime.Remoting.Messageing.StackBuilderSink.SyncProcessMessage(IMessage消息,Int32方法Ptr,布尔fExecuteInContext)
在[0]处重新引发异常:
在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage-reqMsg,IMessage-retMsg)
在System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32类型)
位于Microsoft.SharePoint.UserCode.SSPUserCodeWorkerProcess.ExecuteDegate.EndInvoke(IAsyncResult结果)
位于Microsoft.SharePoint.UserCode.SSPUserCodeWorkerProcess.Execute(类型userCodeWrapperType,SPUserCodeCachedAssemblyGroup userAssemblyGroup,Guid siteCollectionId,SPUserToken userToken,String currentAffinity,SPUserCodeExecutionContext executionContext)
位于Microsoft.SharePoint.UserCode.SSPUserCodePoolableProcessConnection.Execute(类型userCodeWrapperType,SPUserCodeCachedAssemblyGroup userAssemblyGroup,Guid siteCollectionId,SPUserToken userToken,字符串亲和性,SPUserCodeExecutionContext executionContext)
位于Microsoft.SharePoint.UserCode.SSPUserCodeExecutionHost.Execute(类型userCodeWrapperType,Guid siteCollectionId,SPUserToken userToken,字符串亲和性,SPUserCodeExecutionContext executionContext)
在System.Runtime.Remoting.Messageing.StackBuilderSink._PrivateProcessMessage(IntPtr md,Object[]args,Object server,Int32 methodPtr,Boolean fExecuteInContext,Object[]&outArgs)
在System.Runtime.Remoting.Messageing.StackBuilderSink.SyncProcessMessage(IMessage消息,Int32方法Ptr,布尔fExecuteInContext)
在[1]处重新引发异常:
在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage-reqMsg,IMessage-retMsg)
在System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32类型)
位于Microsoft.SharePoint.Administration.ISPUserCodeExecutionHostProxy.Execute(类型userCodeWrapperType,Guid siteCollectionId,SPUserToken userToken,字符串affinityBucketName,SPUserCodeExecutionContext executionContext)
位于Microsoft.SharePoint.UserCode.SSPUserCodeExecutionManager.Execute(键入userCodeWrapperType,SPSite站点,SPUserCodeExecutionContext executionContext)
位于Microsoft.SharePoint.UserCode.SPUserCodeWebPartRemoteExecutionHelper<>c_DisplayClassa.b_9()
位于Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
位于Microsoft.SharePoint.UserCode.SSPUserCodeWebPartRemoteExecutionHelper.ExecuteRequestInSandBox(HttpContext上下文、SPWeb-web、SPWebPartManager管理器、SPUserCodeWebPart用户CodeWebPart)
[NullReferenceException:对象引用未设置为对象实例。]
服务器堆栈跟踪:
位于Microsoft.SharePoint.Utilities.SPThreadContext.get_UserCodeContext()
位于Microsoft.SharePoint.Utilities.SPThreadContext.get_Items()
位于Microsoft.SharePoint.Utilities.SPThreadContext.Get(字符串键)
位于Microsoft.SharePoint.Utilities.SPThreadContext.GetT
位于Microsoft.SharePoint.Library.SPRequest.Dispose(布尔处理)
位于Microsoft.SharePoint.Library.SPRequest.Dispose()
位于Microsoft.SharePoint.SWeb.InvalidateRequest()
位于Microsoft.SharePoint.SWeb.Invalidate()
位于Microsoft.SharePoint.SWeb.Close()
位于Microsoft.SharePoint.SSite.Close()
位于Microsoft.SharePoint.SSite.Dispose()
位于Microsoft.SharePoint.SSite_SubsetProxy.Dispose_Inner()
在System.Runtime.Remoting.Messageing.StackBuilderSink._PrivateProcessMessage(IntPtr md,Object[]args,Object server,Int32 methodPtr,Boolean fExecuteInContext,Object[]&outArgs)
在System.Runtime.Remoting.Messageing.StackBuilderSink.SyncProcessMessage(IMessage消息,Int32方法Ptr,布尔fExecuteInContext)
在[0]处重新引发异常:
在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage-reqMsg,IMessage-retMsg)
在System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32类型)
位于Microsoft.SharePoint.SSite_SubsetProxy.Dispose()
位于Microsoft.SharePoint.SSite.Dispose_Inner()
位于Microsoft.SharePoint.SSite.Dispose()
位于Microsoft.SharePoint.UserCode.SSPUserCodeWebPartWrapper.Execute(SPUserCodeExecutionContext executionContext)
位于Microsoft.SharePoint.UserCode.SSPUserCodeApplicationHostAppDomainRef.ExecuteWrapper(SPUserCodeWrapper包装,SPUserCodeExecutionContext executionContext)
在System.Runtime.Remoting.Messageing.StackBuilderSink._PrivateProcessMessage(IntPtr md,Object[]args,Object server,Int32 methodPtr,Boolean fExecuteInContext,Object[]&outArgs)
在System.Runtime.Remoting.Messageing.StackBuilderSink.AsyncProcessMessage(IMessage消息,IMessageSink回复链接)
在[1]处重新引发异常:
在System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg,Boolean bProxyCase)
在System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed,MessageData&msgData)
位于Microsoft.SharePoint.UserCode.SSPUserCodeApplicationHostAppDomainRef.CodeToExecuteWrapper.EndInvoke(IAsyncResult结果)
位于Microsoft.SharePoint.UserCode.SSPUserCodeApplicationHostAppDomainRef.Execute(类型userCodeWrapperType,SPUserCodeCachedAssemblyGroup userAssemblyGroup,Guid siteCollectionId,Byte[]binaryUserCodeToken,Byte[]proxyOperationToken,SPUserCodeExecutionContext executionContext,布尔shouldUsageLog,Int32 currentProcessId)
检查沙盒解决方案是否已启用(相应的服务正在您的服务器上运行)。还要检查您是否真的将此解决方案作为沙盒安装,而不是作为常规安装,反之亦然。