2011-09-13 36 views
0

私はチェックインしなければならないビジネスケースを持っていました。ワークフローでPSIによってプロジェクトをチェックアウトしましたが、私が プロジェクトをチェックアウトすると、PWAはiamが別のセッションでプロジェクトをチェックアウトし、私はPWAからの作業の流れを続ける必要がありますか?任意の助けや提案CheckIn、CheckOutプロジェクト特定のユーザーのためにPSIを使用していますか?

答えて

1

あなたのセッションIDをリセットしますか?全体のプロセス中にそれを保存する必要があります。ここ は短い例です:

//set guids for session and job 
Guid sessionId = Guid.NewGuid(); 
Guid jobId = Guid.NewGuid(); 

//checkout in the current session 
projectSvc.CheckOutProject(ProjectId, sessionId, "custom field update checkout"); 

//do something (for example, update a project) with the same sessionId! 
bool validateOnly = false; 
projectSvc.QueueUpdateProject(jobId, sessionId, project, validateOnly); 

//simply wait, if you don't use queuing services 
System.Threading.Thread.Sleep(4000); 

//create a new job ID for the checkin, sessionId stays the same as before! 
jobId = Guid.NewGuid(); 

//checkin the project 
bool force = false; 
string sessionDescription = "updated custom fields"; 
projectSvc.QueueCheckInProject(jobId, ProjectId, force, sessionId, sessionDescription); 

//wait again (very ugly) 
System.Threading.Thread.Sleep(4000); 

は、ここに私の答えをチェックしてください:Setting custom fields using the PSI - Microsoft Project Server

関連する問題