老是报“ 对象的当前状态使该操作无效。 “,请大家帮我年看怎么回事儿?

wfcfan 2015-09-10 12:55:15

try
{
SPGroup group = null;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
List<User> userList = TestData.CreateMossUsers();
string mossSite = ConfigurationManager.AppSettings["MossSite"];
using (SPSite site = SPContext.Current.Site)
{
using (SPWeb web = site.OpenWeb())
{
web.AllowUnsafeUpdates = true;

SPMember siteOwner = web.CurrentUser;

foreach (User u in userList)
{
web.SiteGroups.Add(u.DepartmentName, siteOwner, null, u.DepartmentName);

group = web.SiteGroups[u.DepartmentName];
SPUser mossUser = web.EnsureUser(u.UserCode);
group.AddUser(mossUser);
group.Update();
}

web.AllowUnsafeUpdates = false;
context.Response.Write(new ResultObject(false, "创建成功"));
}
}
});

}
catch (Exception ex)
{
throw ex;
}

...全文
4423 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
x射线_o917 2016-10-26
  • 打赏
  • 举报
回复
解决办法: 在Web.config的appSettings加入如下配置: <appSettings> <add key="aspnet:MaxHttpCollectionKeys" value="5000" /> </appSettings>
Justin-Liu 2015-09-22
  • 打赏
  • 举报
回复
SPContext.Current的不能释放,不用你管
计算机器 2015-09-15
  • 打赏
  • 举报
回复
版主正解。 还有不要使用using释放SPContext.Current.Site,这个是SharePoint来管理的,你只需要释放你自己的open的site和web。
霖雨 版主 2015-09-10
  • 打赏
  • 举报
回复
SPSite site = SPContext.Current.Site 提升权限代码,不能使用当前对象,要写成SPSite site = new SPSite(SPContext.Current.Site.ID); 否则不会以系统账号执行,只会以当前账号执行; 还有,你最好标注一下,哪行报错,这盲调不好玩。

3,242

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 SharePoint
社区管理员
  • SharePoint社区
  • 霖雨
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧