Compartir a través de


del método Project.ReadProjectList

Obtiene el nombre del proyecto, el GUID y el tipo de cada proyecto que está disponible en la instancia de Project Web App.

Espacio de nombres:  WebSvcProject
Ensamblado:  ProjectServerServices (en ProjectServerServices.dll)

Sintaxis

'Declaración
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Project/ReadProjectList", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Project/",  _
    ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Project/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function ReadProjectList As ProjectDataSet
'Uso
Dim instance As Project
Dim returnValue As ProjectDataSet

returnValue = instance.ReadProjectList()
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Project/ReadProjectList", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Project/", 
    ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Project/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public ProjectDataSet ReadProjectList()

Valor devuelto

Tipo: WebSvcProject.ProjectDataSet
El esquema de ProjectDataSet contiene sólo la tabla de Project , con los siguientes campos: PROJ_UID, PROJ_NAMEy PROJ_TYPE.

Comentarios

ReadProjectStatus puede utilizarse para obtener una lista de proyectos que son visibles para cualquier usuario de Project Server. Dado que obtiene una lista de todos los proyectos, ReadProjectList está pensada para su uso con las herramientas administrativas y requiere un alto nivel de permisos.

Una aplicación debe iniciar sesión una instancia de Project Server con las credenciales de usuario válido antes de poder ejecutar ReadProjectList.

Utilice la propiedad Project de la ProjectDataSet para tener acceso a la lista de proyectos.

Permisos de Project Server

Permiso

Descripción

ManageQueue

Permite que un usuario administrar el servicio de cola. Permiso global.

ManageSecurity

Permite que un usuario administrar la configuración de seguridad. Permiso global.

Ejemplos

El ejemplo siguiente crea un proyecto de ejemplo y, a continuación, enumera los proyectos que se encuentran.

Para obtener información crítica acerca de cómo ejecutar este ejemplo de código, vea Prerequisites for Reference Code Samples.

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Web.Services.Protocols;
using System.Data;
using System.Threading;
using PSLibrary = Microsoft.Office.Project.Server.Library;

namespace Microsoft.SDK.Project.Samples.ReadProjectList
{
   class Program
   {
      [STAThread]
      static void Main()
      {
         try
         {
            const string PROJECT_SERVER_URI = "https://ServerName/ProjectServerName/";
            const string PROJECT_SERVICE_PATH = "_vti_bin/psi/project.asmx";
          
            // Set up the web service objects.
            SvcProject.Project projectSvc = new SvcProject.Project();

            projectSvc.Url = PROJECT_SERVER_URI + PROJECT_SERVICE_PATH;
            projectSvc.Credentials = CredentialCache.DefaultCredentials;

            // Read and display the project list.
            Console.WriteLine("Reading the project list");

            SvcProject.ProjectDataSet projectDs = projectSvc.ReadProjectList();
            foreach (SvcProject.ProjectDataSet.ProjectRow projectRow in projectDs.Project)
            {
               Console.WriteLine(projectRow.PROJ_NAME + " (" + projectRow.PROJ_UID + ")");
            }

         }
         catch (SoapException ex)
         {
            PSLibrary.PSClientError error = new PSLibrary.PSClientError(ex);
            PSLibrary.PSErrorInfo[] errors = error.GetAllErrors();
            string errMess = "==============================\r\nError: \r\n";
            for (int i = 0; i < errors.Length; i++)
            {
               errMess += "\n" + ex.Message.ToString() + "\r\n";
               errMess += "".PadRight(30, '=') + "\r\nPSCLientError Output:\r\n \r\n";
               errMess += errors[i].ErrId.ToString() + "\n";

               for (int j = 0; j < errors[i].ErrorAttributes.Length; j++)
               {
                  errMess += "\r\n\t" + errors[i].ErrorAttributeNames()[j] + ": " + errors[i].ErrorAttributes[j];
               }
               errMess += "\r\n".PadRight(30, '=');
            }
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine(errMess);
         }
         catch (WebException ex)
         {
            string errMess = ex.Message.ToString() +
               "\n\nLog on, or check the Project Server Queuing Service";
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Error: " + errMess);
         }
         catch (Exception ex)
         {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Error: " + ex.Message);
         }
         finally
         {
            Console.ResetColor();
            Console.WriteLine("\r\n\r\nPress any key...");
            Console.ReadKey();
         }
      }
   }
}

Vea también

Referencia

clase Project

Miembros Project

Espacio de nombres WebSvcProject