使用 PSI 2010(项目服务器接口)更改项目所有者
本文关键字:项目 所有者 接口 服务器 PSI 2010 使用 | 更新日期: 2023-09-27 18:31:30
我想使用 PSI(Project Server Interface) 更改 ProjectOwnerUID。我用类似的代码编写了它
var projectDataSet = this.GetProjectDataSet(projectInfo.ProjectUID);
var orginalProject = this.GetProject(projectInfo.ProjectUID, projectDataSet);
var sessionUID = this.CheckOutProject(projectInfo.ProjectUID);
if (!string.IsNullOrEmpty(projectInfo.ProjectOwnerName))
{
var resourceManager = new Resource();
var ownerResource = resourceManager.GetResource(projectInfo.ProjectOwnerName);
if (ownerResource == null)
{
throw new Exception("this is not valid");
}
orginalProject.ProjectOwnerID = ownerResource.ResourceUID;
}
this.UpdateProject(sessionUID, projectDataSet);
不幸的是,当光标到达更新项目行时,它会抛出带有代码号的异常
ProjectServerError(s) LastError=ProjectInvalidOwner 说明:将其传递到 PSClientError 构造函数以访问所有错误信息
内部错误 1056(无效的项目所有者)。
我不知道发出此异常会发生什么
如何解决这个问题?
当您没有使用以下代码片段编辑项目信息的权限时,会出现此问题,您可以告诉项目服务器运行这段代码不检查权限!!
using Microsoft.SharePoint;
public void MyVoid()
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
//Write ur Codes here :)
});
}
MSDN 参考