当我使用"SPUtility.GetPrincipalsInGroup
"方法时,我得到"线程被中止-由于代码已优化或本机帧位于调用堆栈顶部而无法计算表达式"错误。
bool bReachedMaxCount = false;
SPPrincipalInfo[] _spPrincInfoColl = SPUtility.GetPrincipalsInGroup(web, groupName, Int32.MaxValue - 1, out bReachedMaxCount);
我们有两个SharePoint组(SPGroup)&我们网站中的Active Directory组。
我正在检查登录用户是否有权访问我在此处传递为"groupName"的组名。
当我将"域名"作为"groupName"传递时,代码工作时没有任何错误,例如(domain\usergroup),但当我传递SharePoint组(SPGroup)名称时,同样会引发错误。这两种类型的组在网站上都至少具有"读取"权限。
我在"try-catch"块中有这段代码,因此我能够捕获线程中止的错误。
出现此错误的原因可能是什么?我没有得到任何调用堆栈,异常对象的所有其他属性要么为null,要么具有垃圾值。
我的机器上安装了SP2010 foundation、VS2012和.Net 4.5。
请就此提出建议。非常感谢。
--Sagar S.
请参阅MSDN Forum 上的以下线程
问题是:-SPWeb&未在RunWithElevatedPriviledge方法中创建SPSite对象。