2016-01-23 85 views
1

我想改變ProjectOwnerUID使用PSI(Project Server接口)。我寫了與遵循類似的代碼變更項目業主使用PSI 2010(Project Server接口)

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); 

不幸的是,當光標到達UpdateProject線,它拋出機器碼

ProjectServerError(S)LastError = ProjectInvalidOwner說明例外:通入PSClientError構造這個訪問所有的錯誤信息

內蒙古爾ror 1056(無效的項目所有者)。

我不知道發生了什麼發出此異常
我怎樣才能解決這個問題?

回答

0

當您沒有權限使用以下代碼片段編輯項目信息時,可以告訴項目服務器運行這段代碼不檢查權限時會發生此問題!

using Microsoft.SharePoint; 
    public void MyVoid() 
    { 
     SPSecurity.RunWithElevatedPrivileges(delegate() 
       {  
        //Write ur Codes here :) 

       }); 
    } 

MSDN Reference

相關問題