Sharepoint Workflow 中 "COMException (0x80004005): Cannot complete this action" 的解决办法

原文:http://support.microsoft.com/?id=909455

在 wss v2 sp2(moss2003) 中以及之后的版本都会出现这个错误

wss sp2 的安全性被增强了,所以会出现这样的异常信息:

Microsoft.SharePoint.SPException: Cannot complete this action.  Please try again.
 ---> System.Runtime.InteropServices.COMException (0x80004005): Cannot complete this action.  Please try again.
     at Microsoft.SharePoint.Library.SPRequestInternalClass.CalculatePermissionsForCurrentThread(Object& pvarAcl, Boolean bOnlyAces, UInt64& pPermGrant, UInt64& pPermDeny, Boolean& pbIsSiteAdmin, Boolean& pbIsSiteAuditor)
     at Microsoft.SharePoint.Library.SPRequest.CalculatePermissionsForCurrentThread(Object& pvarAcl, Boolean bOnlyAces, UInt64& pPermGrant, UInt64& pPermDeny, Boolean& pbIsSiteAdmin, Boolean& pbIsSiteAuditor)
     --- End of inner exception stack trace --- 

 

解决办法:

using System.Security.Principal



WindowsImpersonationContext wic 
= WindowsIdentity.GetCurrent().Impersonate();

//implement OM code here

wic.Undo();
 
这个问题困扰了我好几天了,昨天去驾校领完本,下午心惊胆战的过了一下车隐,晚上又心情大好的穿齐了8件T6。今天早上又顺利的 Google 到微软的 KB。啊哈哈,这两天实在是好日子呀。

posted on 2009-02-26 09:36  Fisher.W  阅读(1487)  评论(2编辑  收藏  举报