鳄鱼的眼泪 发表于 2013-1-6 05:15:14

如何在ProjectServer用代码修改用户属性?

<div id="cnblogs_post_body"><div class="cnblogs_Highlighter">using System;using System.Collections.Generic;using System.Text;using System.Net;using System.Windows.Forms;using System.Web.Services.Protocols;using PSLibrary = Microsoft.Office.Project.Server.Library;namespace Microsoft.Office.Project.Samples.UpdateResources{   class Program   {       static void Main(string[] args)      {          const string PROJECT_SERVER_URI    = "http://ServerName/ProjectServerName/";         const string RESOURCE_SERVICE_PATH = "_vti_bin/psi/resource.asmx";                  try         {            // Set up the resource object and dataset            ResourceWebSvc.Resource resourceSvc = new ResourceWebSvc.Resource();            ResourceWebSvc.ResourceDataSet resourceDs = new ResourceWebSvc.ResourceDataSet();                        resourceSvc.Url = PROJECT_SERVER_URI + RESOURCE_SERVICE_PATH;            resourceSvc.Credentials = CredentialCache.DefaultCredentials;            // Read read all the resources            resourceDs = resourceSvc.ReadResources(string.Empty, false);            // Check out the first resource for updating.            //- This assumes the resource is checked in.            //- An error occurs if the resource is already checked out.            resourceSvc.CheckOutResources(new Guid[] { resourceDs.Resources.RES_UID });            // Update the resource name of the first row.            Console.WriteLine ("Modifying resource " + resourceDs.Resources.RES_ID + " (" + resourceDs.Resources.RES_NAME + ")");            resourceDs.Resources.RES_NAME += " Modified at: " + DateTime.Now.ToShortTimeString();            // Send the update to the server and automatically check in the changed row            resourceSvc.UpdateResources(resourceDs, false, true);         }         catch (System.Web.Services.Protocols.SoapException ex)         {            string errMess = "";            PSLibrary.PSClientError error = new PSLibrary.PSClientError(ex);            PSLibrary.PSErrorInfo[] errors = error.GetAllErrors();            for (int j = 0; j < errors.Length; j++)               errMess = errMess + errors.ErrId.ToString() + "\n";            errMess = errMess + "\n" + ex.Message.ToString();            MessageBox.Show(errMess, "Error", MessageBoxButtons.OK,               MessageBoxIcon.Error);         }         catch (WebException ex)         {            string message = ex.Message.ToString() +               "\n\nLog on, or check the Project Server Queuing Service";            MessageBox.Show(message, "Project Creation Error",               MessageBoxButtons.OK, MessageBoxIcon.Error);         }         catch (Exception ex)         {            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK,         MessageBoxIcon.Error);         }      }   }}
页: [1]
查看完整版本: 如何在ProjectServer用代码修改用户属性?