Compartir a través de


Requisitos previos para ejemplos de código basados en ASMX (traducción automática)

Importante

Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Muchos de los ejemplos de código incluidos en la referencia de bibliotecas de clases y servicios web se ajustan a un formato estándar desarrollado para el SDK de Microsoft Office Project 2007 que usa los servicios web ASMX. Estos ejemplos están diseñados para que se puedan copiar en una aplicación de consola y ejecutar como una unidad completa. En el ejemplo se observan algunas las excepciones.

Nuevos ejemplos del SDK de Project 2010 se ajustan a un formato que utiliza servicios de Windows Communication Foundation (WCF). Los ejemplos basados en ASMX también se pueden adaptados para utilizar los servicios WCF. Este artículo muestra cómo utilizar los ejemplos con los servicios Web ASMX. Para obtener información sobre las muestras con servicios WCF, consulte Requisitos previos para ejemplos de código basados en WCF (traducción automática).

Nota

Las nuevas aplicaciones deben utilizar la interfaz de WCF, Microsoft recomendada la tecnología para las comunicaciones de red. Las aplicaciones existentes que utilizan la interfaz ASMX pueden utilizar la dirección URL a través de Project Web App, que comprueba los permisos de Project Server.

Se utiliza la dirección URL a través de la aplicación de servicios Web de SharePoint de back-end para aplicaciones y componentes de software intermedio que se ejecutan sólo en el equipo de Project Server y para las aplicaciones que usan la suplantación. La interfaz ASMX no está disponible a través de la dirección URL de back-end. Para obtener más información sobre la interfaz ASMX y la interfaz WCF, consulte Información general sobre WCF y PSI (traducción automática).

Antes de ejecutar los ejemplos de código, debe configurar el entorno de desarrollo, configure la aplicación y cambiar los valores de constantes genéricos para que coincida con su entorno. En este artículo incluye las siguientes secciones:

  • Configuración del entorno de desarrollo

  • Creación de la aplicación y agregar una referencia de servicio Web

    • Generar un ensamblado de Proxy PSI

    • Agregar un archivo de Proxy PSI

    • Agregar una referencia de servicio Web

  • Configurar otras referencias

  • Uso de Multi-Authentication de reclamaciones

  • Cambiar los valores de constantes genéricos

  • Comprobación de los resultados

  • Limpiar

Configuración del entorno de desarrollo

  1. Configurar una prueba del sistema de Project Server.

    Utilice una prueba del sistema de Project Server cada vez que se va a desarrollar o probar. Incluso cuando el código funciona perfectamente, acto seguido, dependencias, informes u otros factores del entorno pueden provocar consecuencias no deseadas.

    Nota

    Asegúrese de que es un usuario válido en el servidor y compruebe que tiene suficientes permisos para las llamadas de Project Server Interface (PSI) que utiliza la aplicación.

    En algunos casos, es posible que deba realizar la depuración remota en el servidor. También es posible que deba configurar un controlador de eventos por instalar a un ensamblado de controlador de eventos en el equipo de Project Server y, a continuación, configurar el controlador de eventos mediante la página de configuración del servidor en Project Web App.

  2. Configurar un equipo de desarrollo.

    Suelen tener acceso PSI a través de una red. Los ejemplos de código están diseñados para ejecutarse en una independiente de cliente desde el servidor, excepto donde se indique.

    1. Instalar la versión correcta de Microsoft Visual Studio.   Excepto donde se indique, los ejemplos de código están escritos en Microsoft Visual C#. Se puede utilizar con Microsoft Visual Studio 2008 SP1 o Microsoft Visual Studio 2010.

      Nota

      Puede utilizar Visual Studio 2008 para la mayoría de las aplicaciones desarrollada para Project Server 2010. Aplicaciones de flujo de trabajo de Project Server requieren que desarrolle en el equipo de Project Server, mediante el uso de Visual Studio 2010. Se recomienda Visual Studio 2010 para todo el desarrollo de Project Server.

    2. Copia las DLL de servidor de proyecto para el equipo de desarrollo.   En el caso de las aplicaciones sin flujo de trabajo, copie los siguientes ensamblados de [Program Files]\Microsoft Office Servers\14.0\Bin en el equipo de Project Server al equipo de desarrollo:

      • Microsoft.Office.Project.Server.Events.Receivers.dll

      • Microsoft.Office.Project.Server.Library.dll

  3. Para utilizar las descripciones de Intellisense para las clases y miembros en los ensamblados de Project Server, copie los archivos actualizados de XML Intellisense de la descarga SDK de Project 2010 en el mismo directorio donde se encuentra el ensamblado de Project Server. Por ejemplo, copie el archivo Microsoft.Office.Project.Server.Library.xml en el directorio donde la aplicación establecerá una referencia al ensamblado Microsoft.Office.Project.Server.Library.dll.

    Las descripciones de IntelliSense para los servicios Web de PSI requieren la creación de un ensamblado de proxy PSI mediante el uso de la secuencia de comandos en el subdirectorio Intellisense\WSDL en la descarga SDK de Project 2010. La secuencia de comandos crea el ensamblado de proxy ProjectServerServices.dll basados en ASMX. Para obtener más información, consulte el archivo .mht [ReadMe_Intellisense] en la descarga SDK.

Creación de la aplicación y agregar una referencia de servicio Web

  1. Crear una aplicación de consola.

    Cuando se crea una aplicación de consola, en la lista desplegable del cuadro de diálogo Nuevo proyecto , seleccione .NET Framework 3.5. Puede copiar el código de ejemplo PSI en la nueva aplicación.

  2. En el .NET ficha del cuadro de diálogo Agregar referencia , agregue una referencia a System.Web.Services.

  3. Copie el código.

    Copie el ejemplo de código completo en el archivo Program.cs de la aplicación de consola.

  4. Establecer el espacio de nombres para la aplicación de ejemplo.

    Puede cambiar el espacio de nombres que figuran en la parte superior de la muestra que el espacio de nombres de aplicación predeterminado, o cambiar el espacio de nombres de aplicación predeterminada para que coincida con el ejemplo. Puede encontrar el espacio de nombres de la aplicación predeterminada en las propiedades de la aplicación.

    Por ejemplo, el ejemplo de código para CreateNewAssignment tiene la Microsoft.SDK.Project.Samples.CreateNewAssignment de espacio de nombres. Copie el espacio de nombres de archivo Program.cs y, a continuación, abra el panel de Propiedades del proyecto (en el menú Proyecto , haga clic en Propiedades de CreateNewAssignment). En la ficha de la Aplicación , copie el espacio de nombres en el cuadro de texto de Espacio de nombres predeterminado .

  5. Configure las referencias Web.

    Muchos ejemplos requieren una referencia a uno o varios de los servicios Web de PSI. Se muestran en la propia aplicación de ejemplo o en los comentarios que preceden a la muestra. Para obtener el espacio de nombres correcto de las referencias Web, asegúrese de establecer en primer lugar el espacio de nombres de aplicación predeterminado.

    Hay tres formas de agregar una referencia al servicio Web de ASMX:

    • Generar un ensamblado de proxy PSI y establecer una referencia al ensamblado. Consulte creación de un ensamblado de Proxy PSI.

    • Agregar un archivo de proxy de la salida de wsdl.exe para la solución de Visual Studio. Vea Agregar un archivo de Proxy PSI.

    • Agregue una referencia de servicio Web con Visual Studio. Vea Agregar una referencia de servicio Web.

Generar un ensamblado de Proxy PSI

Puede crear y utilizar el ensamblado de proxy de ProjectServerServices.dll para todos los servicios Web basados en ASMX en PSI, mediante el uso de la secuencia de comandos de GenASMXProxyAssembly.cmd en la carpeta Documentation\Intellisense\WSDL de la Project 2010 descargar el SDK. Para un vínculo a la descarga, consulte Documentación del SDK de Project 2010 (traducción automática).

Nota

Si utiliza la secuencia de comandos de GenWCFProxyAssembly.cmd en la carpeta Documentation\Intellisense\WCF, no funciona para las aplicaciones basadas en ASMX. Las llamadas de la secuencia de comandos SvcUtil.exe, que genera archivos de código fuente para los servicios WCF. Los archivos de proxy WCF incluyen atributos diferentes, la interfaz de canal y una clase de cliente para cada servicio PSI. Por ejemplo, el servicio de WCF de recursos incluye la interfaz de ResourceChannel, la interfaz de Resource y la clase ResourceClient que implementa Resource, que no incluye el servicio Web de ASMX de recursos.

Siguiente es la secuencia de comandos de GenASMXProxyAssembly.cmd que genera archivos de salida WSDL para los servicios Web de PSI y, a continuación, compile el ensamblado. Puede utilizar wsdl.exe desde cualquier ubicación. son las mismas versiones.

@echo off
@ECHO ---------------------------------------------------
@ECHO Creating C# files for the ASMX-based proxy assembly
@ECHO ---------------------------------------------------

REM Replace ServerName with the name of the server and 
REM the instance name of Project Web App. Do not use localhost.
(set VDIR=https://ServerName/pwa/_vti_bin/psi)

(set OUTDIR=.\Source)

REM ** Wsdl.exe is the same version in the v6.0A and v7.0A subdirectories. 
 (set WSDL="C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\x64\wsdl.exe")

if not exist %OUTDIR% (
md %OUTDIR%
)

REM Use the Project Web App URL for the Web services.

for /F %%i in (Classlist_asmx.txt) do %WSDL% /nologo /l:CS /namespace:Svc%%i /out:%OUTDIR%\wsdl.%%i.cs %VDIR%/%%i.asmx?wsdl 

@ECHO ----------------------------
@ECHO Compiling the proxy assembly
@ECHO ----------------------------

(set SOURCE=%OUTDIR%\wsdl)
(set CSC=%WINDIR%\Microsoft.NET\Framework\v3.5\csc.exe)
(set ASSEMBLY_NAME=ProjectServerServices.dll)

%CSC% /t:library /out:%ASSEMBLY_NAME% %SOURCE%*.cs

La secuencia de comandos utiliza el archivo de Classlist_asmx.txt, que contiene la lista de servicios Web que están disponibles para los desarrolladores de terceros.

Admin
Archive
Calendar
CubeAdmin
CustomFields
Driver
Events
LoginForms
LoginWindows
LookupTable
Notifications
ObjectLinkProvider
PortfolioAnalyses
Project
QueueSystem
ResourcePlan
Resource
Security
Statusing
TimeSheet
Workflow
WssInterop

Los espacios de nombres arbitrarios creados por las secuencias de comandos para los servicios Web ASMX y de los servicios WCF son iguales, de modo que el archivo de Intellisense funciona con cualquier ensamblado. Por ejemplo, el espacio de nombres del servicio de recursos en el ensamblado de proxy basados en WCF y en el ensamblado de proxy basados en ASMX es SvcResource. Por supuesto, puede cambiar los nombres de espacio de nombres, si se asegura de que coinciden en el ensamblado de proxy y en el archivo ProjectServerServices.xml de Intellisense.

Si un ejemplo de código en el SDK utiliza un nombre diferente para un espacio de nombres de servicio Web de PSI, por ejemplo, ProjectWebSvc, debe cambiar el ejemplo para usar SvcProject para que coincidan con los nombres en el ensamblado de proxy.

Una ventaja de utilizar el ensamblado de proxy basados en ASMX es que incluye todos los espacios de nombres de servicios de Web de PSI; no es necesario crear múltiples referencias Web. Otra ventaja es que, si agrega el archivo ProjectServerServices.xml en el mismo directorio donde se establece una referencia al ensamblado de proxy de ProjectServerServices.dll, también puede obtener descripciones de Intellisense para las clases PSI y miembros. Para obtener más información, consulte el archivo .mht [ReadMe_Intellisense] en la carpeta de Intellisense de la descarga SDK.

Una desventaja de utilizar el ensamblado de proxy es que la solución es grande y debe distribuir e instalar al ensamblado de proxy con la solución. También se deben utilizar los mismos espacios de nombres que están en el ensamblado de proxy y los archivos de Intellisense, a menos que cambie la secuencia de comandos y el archivo de ProjectServerServices.xml Intellisense utilizar espacios de nombres diferentes.

Agregar un archivo de Proxy PSI

La adición de un archivo de proxy de salida WSDL:   En lugar de establecer una referencia al ensamblado de proxy, puede agregar uno o varios de los archivos de salida WSDL para una solución de Visual Studio. Por ejemplo, después de ejecutar la secuencia de comandos de GenASMXProxyAssembly.cmd, agregue el archivo wsdl.Project.cs el archivo a una solución de Visual Studio. En lugar de ejecutar la secuencia de comandos, puede ejecutar los comandos siguientes para generar un solo archivo de origen, por ejemplo:

set VDIR=https://ServerName/ProjectServerName/_vti_bin/psi
set WSDL="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\wsdl.exe"
%WSDL% /nologo /l:cs /namespace:SvcProject /out:wsdl.Project.cs %VDIR%/Project.asmx?wsdl

Para definir un objeto Project como una variable de clase denominada project, utilice el código siguiente. El método AddContextInfo agrega la información de contexto para el objeto project para el inicio de sesión de Windows y basada en formularios

private static SvcProject.Project project;
private static SvcLoginForms.LoginForms loginForms =
            new SvcLoginForms.LoginForms();
. . .
public void AddContextInfo()
{
    // Add the Url property.
    project.Url = "https://ServerName/ProjectServerName/_vti_bin/psi/project.asmx";

    // Add Windows credentials.
    project.Credentials = CredentialCache.DefaultCredentials;

    // If Forms authentication is used, add the Project Server 
    // cookie for a successful Forms user logon.
    
    project.CookieContainer = loginForms.CookieContainer;
}

Agregar una referencia de servicio Web

Si no utiliza el ensamblado de proxy basados en ASMX o agregar un archivo de salida WSDL, debe establecer una o las referencias Web más individual. Los pasos siguientes muestran cómo establecer una referencia Web mediante el uso de Visual Studio 2010:

  1. En el Explorador de soluciones, haga clic en la carpeta Referencias y, a continuación, haga clic en Agregar referencia de servicio.

  2. En el cuadro de diálogo Agregar referencia de servicio , haga clic en Avanzado.

  3. En el cuadro de diálogo Configuración de referencia de servicio , haga clic en Agregar referencia Web.

  4. En el cuadro de texto Dirección URL , escriba http://nombreDeServidor/ProjectServerName//_vti_bin/psi/ServiceName.asmx? wsdl, y, a continuación, presione ENTRAR. Si tiene Secure Sockets Layer (SSL) instalado, debe utilizar el protocolo HTTPS en lugar del protocolo HTTP. Reemplazar nombre de servidor con el nombre del servidor que está utilizando. Reemplace ProjectServerName con el nombre del directorio virtual de su sitio de Project Server, como, por ejemplo, PWA. Reemplazar ServiceName con el nombre del servicio Web, como el proyecto.

    O bien

    Abra el explorador Web y vaya a https://ServerName/ProjectServerName/_vti_bin/psi/ServiceName.asmx?wsdl (sustituya HTTPS por HTTP, si es necesario). Guarde el archivo en un directorio local, como, por ejemplo, C:\Project\WebServices\ServiceName.wsdl. En el cuadro de diálogo Agregar referencia Web , para la Dirección URL, escriba el protocolo de archivo y la ruta de acceso al archivo. Por ejemplo, escriba file://C:\Project\WebServices\Project.wsdl.

    La dirección URL anterior es el estándar para los servicios Web de Project Server.

  5. Después de que se resuelve la referencia, escriba el nombre de referencia en el cuadro de texto Nombre de referencia Web . Ejemplos de código en el SDK de Project 2010 utilizan el nombre de referencia estándar arbitraria ServiceName(WebSvc). Por ejemplo, el servicio Web de proyecto se denomina ProjectWebSvc.

Para los componentes de aplicación que deben ejecutarse en el equipo de Project Server, utilice la suplantación, o permisos elevados, utilice una referencia de servicio WCF en lugar de una referencia Web ASMX. Para obtener más información, consulte Requisitos previos para ejemplos de código basados en WCF (traducción automática).

Configurar otras referencias

Aplicaciones de servidor de proyectos suelen utilizan otros servicios, como servicios Web de Microsoft SharePoint Foundation 2010. Si se requieren otros servicios, se indican en el ejemplo.

Las referencias locales para el ejemplo de código se muestran en las instrucciones de using en la parte superior de la muestra:

  1. En el Explorador de soluciones, haga clic en la carpeta Referencias y, a continuación, haga clic en Agregar referencia.

  2. Haga clic en Examinary, a continuación, busque la ubicación donde se almacenan los archivos DLL de servidor de proyecto que ha copiado previamente. Elija los archivos DLL que necesita y, a continuación, haga clic en Aceptar.

Nota

Asegúrese de que las versiones de ensamblado en el equipo de desarrollo coincidan exactamente con las del equipo de Project Server de destino.

Uso de Multi-Authentication de reclamaciones

Autenticación de usuarios de Project Server, ya sea por la autenticación de Windows o autenticación mediante formularios, se realiza a través de Microsoft SharePoint Foundation 2010 de procesamiento de reclamaciones. Multi-Authentication significa que la aplicación Web en el que se ha suministrado Project Web App admite la autenticación de Windows y autenticación basada en formularios. Si es así, se producirá un error en una llamada a un servicio WCF o ASMX que utiliza la autenticación de Windows con el siguiente error, porque el proceso de reclamaciones no puede determinar qué tipo de usuario para autenticar:

The server was unable to process the request due to an internal error. 
. . .

Para solucionar el problema de ASMX, todas las llamadas a métodos PSI se debe a una clase derivada que se define para cada servicio Web de PSI. La clase derivada también debe utilizar la clase SvcLoginWindows.LoginWindows para obtener una cookie para la clase de servicio derivada de PSI. En el ejemplo siguiente, la clase ProjectDerived se deriva de la clase SvcProject.Project. La clase derivada, agrega la propiedad EnforceWindowsAuth y anula el encabezado de solicitud Web para cada llamada a un método en la clase Project. Si la propiedad EnforceWindowsAuth es true, el método GetWebRequest agrega un encabezado que deshabilita la autenticación de formularios. Si EnforceWindowsAuth es false, la autenticación de formularios puede continuar.

Para utilizar el siguiente ejemplo de ASMXLogon_MultiAuth, crear una aplicación de consola, siga los pasos de creación de la aplicación y agregar una referencia de servicio Weby, a continuación, agregue el archivo wsdl.LoginWindows.cs archivo de proxy y wsdl.Project.cs archivo de proxy. El método Main crea la instancia de project de la clase ProjectDerived. El ejemplo debe utilizar la clase derivada de LoginWindowsDerived para obtener un objeto CookieContainer para la propiedad project.CookieContainer, que se distingue de la autenticación de formularios de autenticación de Windows. El objeto project, a continuación, puede utilizarse para realizar llamadas a cualquier método en la clase SvcProject.Project.

Nota

El servicio de LoginWindows sólo es necesario para las aplicaciones de ASMX en un entorno multi-authentication. En el ejemplo de ASMXLogon_MultiAuth, el método GetLogonCookie obtiene una cookie para el objeto loginWindows. La propiedad project.CookieContainer se establece en el valor de loginWindows.CookieContainer.

using System;
using System.Net;
using PSLibrary = Microsoft.Office.Project.Server.Library;

namespace ASMXLogon_MultiAuth
{
    class Program
    {
        private const string PROJECT_SERVER_URL = 
            "https://ServerName/ProjectServerName/_vti_bin/psi/";

        static void Main(string[] args)
        {
            bool isWindowsUser = true;

            // Create an instance of the project object.
            ProjectDerived project = new ProjectDerived();
            project.Url = PROJECT_SERVER_URL + "Project.asmx";
            project.Credentials = CredentialCache.DefaultCredentials;

            try
            {
                // The program works on a Windows-auth-only computer if you comment-out the
                // following line. The line is required on a multi-authentication computer.
                project.CookieContainer = GetLogonCookie();

                project.EnforceWindowsAuth = isWindowsUser;

                // Get a list of all published projects. 
                // Use ReadProjectStatus instead of ReadProjectList,
                // because the permission requirements are lower.
                SvcProject.ProjectDataSet projectDs =
                    project.ReadProjectStatus(Guid.Empty,
                        SvcProject.DataStoreEnum.PublishedStore,
                        string.Empty,
                        (int)PSLibrary.Project.ProjectType.Project);

                Console.WriteLine(string.Format(
                    "There are {0} published projects.", 
                    projectDs.Project.Rows.Count));
            }
            catch (UnauthorizedAccessException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (WebException ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                Console.Write("Press any key to continue...");
                Console.ReadKey(false);
            }
        }

        private static CookieContainer GetLogonCookie()
        {
            // Create an instance of the loginWindows object.
            LoginWindowsDerived loginWindows = new LoginWindowsDerived();
            loginWindows.EnforceWindowsAuth = true;
            loginWindows.Url = PROJECT_SERVER_URL + "LoginWindows.asmx";
            loginWindows.Credentials = CredentialCache.DefaultCredentials;

            loginWindows.CookieContainer = new CookieContainer();

            if (!loginWindows.Login())
            {
                // Login failed; throw an exception.
                throw new UnauthorizedAccessException("Login failed.");
            }
            return loginWindows.CookieContainer;
        }
    }

    // Derive from LoginWindows class; include additional property and 
    // override the Web request header.
    class LoginWindowsDerived : SvcLoginWindows.LoginWindows
    {
        public bool EnforceWindowsAuth { get; set; }

        protected override WebRequest GetWebRequest(Uri uri)
        {
            WebRequest request = base.GetWebRequest(uri);

            if (this.EnforceWindowsAuth)
            {
                request.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
            }
            return request;
        }
    }

    // Derive from Project class; include additional property and 
    // override the Web request header.
    class ProjectDerived : SvcProject.Project
    {
        public bool EnforceWindowsAuth { get; set; }

        protected override WebRequest GetWebRequest(Uri uri)
        {
            WebRequest request = base.GetWebRequest(uri);

            if (this.EnforceWindowsAuth)
            {
                request.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
            }
            return request;
        }
    }
}

Uso de la clase derivada de LoginWindows y realizar llamadas PSI con un encabezado de solicitud Web que deshabilita la autenticación mediante formularios, es necesario para las aplicaciones que se ejecutan en un entorno multi-authentication. Si Project Server utiliza sólo la autenticación de reclamaciones, no es necesario derivar una clase que agrega un encabezado de solicitud Web. Sin embargo, el ejemplo anterior se ejecuta en ambos entornos.

La corrección para una aplicación basada en WCF es diferente. Para obtener más información, consulte la sección de Multi-Authentication de reclamaciones de uso en Requisitos previos para ejemplos de código basados en WCF (traducción automática).

Para obtener un ejemplo de código completo que utiliza multi-authentication, consulte el subdirectorio Samples\MultiAuthentication\ASMXLogon_MultiAuth del Project 2010 descargar el SDK.

Cambiar los valores de constantes genéricos

La mayoría de los ejemplos tienen una o más variables que debe actualizar para que el ejemplo funcione correctamente en su entorno. En el siguiente ejemplo, si tiene instalado el SSL, utilice el protocolo HTTPS en lugar del protocolo HTTP. Reemplazar nombre de servidor con el nombre del servidor que está utilizando. Reemplace ProjectServerName con el nombre del directorio virtual de su sitio de Project Server, como, por ejemplo, PWA.

const string PROJECT_SERVER_URI = "https://ServerName/ProjectServerName/";

Cualquier otra variable que debe cambiar o otros requisitos previos se indican en la parte superior del código de ejemplo.

Comprobación de los resultados

Obtención e interpretar los resultados de un ejemplo de código no siempre son sencillo. Por ejemplo, si crea un proyecto, debe publicar el proyecto antes de que aparezca en la página Centro de proyectos en Project Web App.

Puede comprobar los resultados de ejemplo de código de las siguientes maneras:

  • Utilice al cliente Microsoft Project Professional 2010 para abrir el proyecto desde el equipo de Project Server y ver los elementos que desee.

  • Ver el registro de la cola de Project Web App. En el inicio rápido, haga clic en Configuración Personaly, a continuación, haga clic en Mis trabajos en cola (https://ServerName/ProjectServerName/MyJobs.aspx). En la lista desplegable Ver , puede ordenar por el estado de trabajo. El estado predeterminado es en curso y trabajos de error de la semana pasada.

  • Ver proyectos publicados en la página Centro de proyectos de Project Web App (http://nombreDeServidor/ProjectServerName/projects.aspx).

  • Utilice la página de configuración del servidor en Project Web App para ver todas las colas y objetos de la empresa (https://ServerName/ProjectServerName/_layouts/pwa/admin/admin.aspx). Debe tener permisos administrativos para tener acceso a la página de configuración del servidor.

  • Utilizar Microsoft sql Server Management Studio para ejecutar una consulta en una tabla de una base de datos de Project Server. Por ejemplo, utilice la siguiente consulta para seleccionar las primeras 200 filas de la tabla MSP_WORKFLOW_STAGE_PDPS para mostrar información acerca de las páginas de detalles del proyecto (PDP) en las etapas del flujo de trabajo.

    SELECT TOP 200 [STAGE_UID]
          ,[PDP_UID]
          ,[PDP_NAME]
          ,[PDP_POSITION]
          ,[PDP_ID]
          ,[PDP_STAGE_DESCRIPTION]
          ,[PDP_REQUIRES_ATTENTION]
      FROM [ProjectServer_Published].[dbo].[MSP_WORKFLOW_STAGE_PDPS]
    

Limpiar

Después de probar algunos ejemplos de código, existen objetos de la empresa y la configuración que se debe eliminar o restablecer. Puede utilizar la página de configuración del servidor en Project Web App para administrar los datos de empresa (https://ServerName/ProjectServerName/_layouts/pwa/admin/admin.aspx). Vínculos de la página de configuración del servidor le permiten eliminar elementos antiguos, forzar la protección de los proyectos, administrar la cola de trabajo para todos los usuarios y realizar otras tareas administrativas.

Siguientes son algunos de los vínculos en la página de configuración del servidor que puede utilizar para las actividades de limpieza habitual después de ejecutar los ejemplos de código:

  • Forzar objetos verificación de la empresa

  • Controladores de eventos del lado servidor

  • Administrar trabajos en cola

  • Campos personalizados de empresa y tablas de consulta

  • Eliminar objetos de la empresa

  • Tipos de proyecto de empresa

  • Fases del flujo de trabajo

  • Etapas del flujo de trabajo

  • Páginas de detalles del proyecto

Nota

Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Vea también

Tareas

Procedimiento para usar suplantación con WCF (traducción automática)

Conceptos

Información general sobre WCF y PSI (traducción automática)

Requisitos previos para ejemplos de código basados en WCF (traducción automática)

Información general sobre la referencia de PSI (traducción automática)

Otros recursos

SharePoint Developer Center

Historial de cambios

Fecha

Descripción

Motivo

Mayo de 2010

Publicación inicial