Erste Schritte beim Entwickeln für Project 2010 (maschinell übersetzt)

Office 2010
Wichtiger Hinweis Wichtig

Dieser Artikel wurde maschinell übersetzt. Bitte beachten Sie den Haftungsausschluss. Die englische Version des Artikels ist als Referenz hier verfügbar: here.

Zusammenfassung:  Lernen Sie die Hauptfeatures zum Entwickeln und Anpassen von Microsoft Project Server 2010 und Microsoft Project 2010-Clientanwendungen kennen. Project Server 2010 bietet eine doppelte Schnittstelle für Windows Communication Foundation (WCF)-Dienste und ASMX-Webdienste sowie andere zentrale, neue Features zur Anpassung und Entwicklung von Project Server-Erweiterungen.

Letzte Änderung: Dienstag, 12. April 2011

Gilt für: Office 2010 | Project 2010 | Project Server 2010 | SharePoint Server 2010 | VBA | Visual Studio

Inhalt dieses Artikels
Einführung in die Projektserver 2010
Projekt-Dokumentation – wo suchen Sie benötigen
Mithilfe von VBA-Projekt 2010
Project Server-Architektur
Integration mit Microsoft SharePoint Server 2010
Project Server-Schnittstelle
Ereignisse in Projektserver 2010
EPM-Reporting in Project 2010
Fehler in Projektserver 2010 prüfen
Schlussbemerkung
Weitere Ressourcen

Zur Verfügung gestellt von:  Jim Corbin, Microsoft Corporation

Inhalt

Dieser Artikel ist ein Update für Project 2010 des Artikels Project Server 2007: Getting Started with a New Platform for Developers.

Microsoft Project Server 2010 ist die vierte Version von Project Server und erweitert der neue Entwicklungsplattform, Microsoft Office Project Server 2007, eingeführt. Project Server 2010 ist tiefer in SharePoint integriert und Microsoft SharePoint Server 2010 mit Lizenz für den Zugriff auf den Enterprise-Client erfordert. Project Portfolio Services, Workflows, Authentifizierung, Webparts, Project Web App Multifunktionsleiste, ein neues ECMAScript (JavaScript)-basierten Grid-Steuerelement, Projekt-Websites für die Teamzusammenarbeit und viele andere Features von Project Server bauen auf der SharePoint Server 2010-Plattform.

Dieser Artikel führt die Entwicklung für die Projekt-Clients kurz und bietet eine ausführlichere Übersicht über die Entwicklung für Project Server und Verwenden von Project Server Interface (PSI). Da Project Server 2010 als Dienst in Microsoft SharePoint Server 2010, Project Server-Features wie z. B. Workflow für Demand Management, der Multifunktionsleiste Project Web App installiert ist, und Projekt-Websites auf SharePoint-Features basieren.

Die PSI fügt Dienste für Workflow, Portfolio-Analysen und Business-Treiber und andere Dienste zur Unterstützung neuer Features erweitert. Diese unterstützten neuen Features zählen Abteilungen Ressource Delegation, verbesserte Arbeitszeittabellen-Einstellungen und Sicherheitsmanagement-Kategorie, mehrere OLAP-Cubes und Projekt-Synchronisierung mit SharePoint-Aufgabenlisten. In der PSI-dual-Schnittstelle doppelte Windows Communication Foundation (WCF)-Services die ASMX-Webdienste. WCF-basierte Dienste sind die strategische Richtung für die Entwicklung verteilter Anwendungen.

Project Server 2010 baut auf der Microsoft .NET Framework 3.5. Als Premiere Enterprise Project Management (EPM) System erreicht Project Server 2010 für die Programmierbarkeit folgende Ziele:

  • Hervorragende ErweiterbarkeitProject Server 2010 Adressen Schlüsselbereiche für die Erweiterung der Funktionen für EPM und Integration mit Microsoft Office 2010 Produkten, Partnerlösungen und Line-of-Business (LOB) Anwendungen.

  • Entwicklungsplattform   Die PSI-Dienste, Project Server-Ereignisdienst, Project Server-Warteschlangendienst, Project Server Workflow-System, serverseitige Planungs-Engine, Reporting-Datenbank und SharePoint-Features wie z. B. ein Center Business Intelligence (BI), benutzerdefinierte Listen und Webparts Erstellen einer vollständige Entwicklungsplattform.

  • Geringe Startbarrieren   Entwickler, die mit Microsoft Visual Studio, standard SharePoint Webparts oder Microsoft SQL Server Reporting Services vertraut sind können die zugehörigen Funktionen der Project Server-Entwicklungsplattform nutzen.

  • Verbesserte Entwicklerproduktivität   Die PSI-Dienste verwenden Microsoft ADO.NET typisierte DataSet Objekte. Microsoft-IntelliSense in Visual Studio zeigt sofort die Methoden, Parameter und Felder, die in einer Codeanweisung verfügbar sind. Sie können erstellen, installieren, und Testen Sie Project Server-Workflows und Webparts und viele Features des Project Web App und Projekt-Sites direkt innerhalb der Visual Studio 2010 ändern. Z. B. Informationen zum Vorgang nach Zeitphasen Datenzugriff mithilfe der PSI statt Programmieren direkt mit der Project Server-Datenbanken.

  • Firewall-freundlich   Alle Project 2010 Client-Anwendungen, einschließlich Project Professional 2010 und Project Web App, kommunizieren mit Project Server über die PSI-Dienste mithilfe von HTTP-Protokoll, das SOAP-Protokoll oder mithilfe der Zusatzprotokolle über WCF. Sie können auch sicher mit Project Server arbeiten, indem einen separate Project Web App-Server in einem Umkreisnetzwerk für den Zugriff über das Internet verwenden.

Project Server 2010, zusammen mit SharePoint Server 2010, bietet viele Vorteile und Verbesserungen. Dieser Artikel führt Sie in die Plattform-Programmierbarkeit und bezieht sich auf detaillierte konzeptionelle und "How to" Artikeln in der Project 2010 Software Development Kit (SDK).

Es gibt vier wichtigsten Wege der Projektdokumentation, von denen jeder ein anderes Publikum vorgesehen ist. Da Sie diesen Artikel lesen, sind Sie wahrscheinlich ein Entwickler. Allerdings müssen Sie möglicherweise oft Endbenutzer, Administrator, Support oder Informationen Knowledge Base (KB) und andere Projekt-Downloads.

Weitere Informationen über Projektdokumentation und Orte zum Suchen nach anderen Ressourcen finden Sie unter Suchen von Project Server 2010-Dokumentation. Videos auf viele der neuen Features in Project Server 2010 verwenden finden Sie unter Zug & Learn. Kurse mit praktischen Übungen für die primäre Microsoft-Produkte und Technologien wie SharePoint und Silverlight SQL Server Business Intelligence finden Sie unter MSDN Training-Kurse und SharePoint und Silverlight-Schulung.

Entwicklerdokumentation für Project 2010

Im folgenden werden die wichtigsten Teile des Project 2010-SDK:

  • Projekt Developer Center enthält Links auf die wichtigsten Teile des Project 2010-SDK und Seiten mit Informationen für Entwickler für frühere Versionen. Die , Videos und Webcasts | Projektentwicklung Seite im Projekt Developer Center enthält Links zu multimedia-Ressourcen für Project 2010. Projekt-Entwickler-Community -Seite enthält Links zu Blogs, Öffentliche Foren und andere Informationen zu Partner und Microsoft Most Valuable Professionals (MVPs) Projekt.

  • Online Project 2010 SDK Documentation enthält aktuelle konzeptuelle, Vorgehensweisen und Exemplarische Vorgehensweise Themen sowie Referenzthemen für die PSI-Dienstleistungen, verwandte Datensätze und Project Server-Programmierung Bibliotheken. Am unteren Rand jeder Seite des online-SDK finden Sie einen Community-Inhalte Abschnitt, in dem Sie buchen können, fügen Kommentare, Sie kurze Codebeispiele oder Korrektur von Fehlern auf der Seite. Community-Inhalte ist ein WIKI für MSDN; für Entwickler-Diskussionen und Hilfe bei Fragen können Sie das Projekt Anpassung und Programmierung -Forum.

  • Projekt 2010 SDK downloaden umfasst das vollständige SDK mit durchsuchbaren HTML-Hilfedatei (Project2010SDK.chm), Quellcode für die Beispielanwendungen Schemareferenz für Reporting-Datenbank, OLAP-Cube-Verweis, XML-Schemas, aktualisierte IntelliSense-Dateien und Skripts zum Erstellen von WCF- oder ASMX-basierten Proxyassembly für die PSI.

  • Die Projekt-VBA-Referenz und Hilfethemen können von drei Speicherorten zugegriffen werden. Die Themen sind in das Projekt 2010-Entwicklerreferenz, online und auch online oder offline in Visual Basic Hilfe bei der Arbeit im Visual Basic-Editor. Sie können aktualisierte Hilfethemen online oder offline für VBA zugreifen, wenn Sie Verbindungsstatus in im Menü rechts unten auf der Project-Hilfe-Fenster, und klicken Sie dann auf Inhalte von Office.com anzeigen oder Inhalt nur auf diesem Computer anzeigen. Zum Beispiel ordnet das VBA-Objektmodell Arbeit am besten in offline-Hilfe. MSDN-Rendering nicht Links für die Objekte enthält, und das online-Rendering für VBA-Hilfe ist nicht optimal.

  • Viele Themen in der Dokumentation Project 2007 gelten auch für Project 2010. Beispielsweise finden Sie in den Abschnitten Project 2007 Technical Articles und Project 2007 Book Excerpts. SDK-Themen wie How to: Use a Filter Parameter with PSI Methods, Walkthrough: Creating a Hierarchical Lookup Table und How to: Customize E-Mail for Project Server Notifications verwenden allgemeine Prozeduren, die in Office Project Server 2007 und Project Server 2010 identisch sind.

Die online Project 2010 SDK ist derzeit verfügbar in Englisch und Japanisch. Die japanische Version kann die englische Version von mehreren Monaten lag. Die japanische Version finden Sie unter http://msdn.microsoft.com/de-de/library/ms512767.aspx.

Administrator-Dokumentation für Project 2010

Microsoft Project Server TechNet ist der Ort, um Informationen zu Installation, Migration und Verwaltung von Projekt zu suchen. TechNet Inhalte beinhaltet der Endbenutzer-Dokumentation für Project Web App. Die technische Bibliothek für Project Server 2010 ist auch zum Download zur Verfügung; finden Sie unter Microsoft Project Server 2010 technischen Bibliothek im Hilfe-Format kompiliert.

Im folgenden sind wichtige Abschnitte für Project 2010 in TechNet:

Die neuesten Informationen über die Administrator-Dokumentation für Project Server finden Sie unter Enterprise Project Management Content Publishing News -Blog.

Endbenutzerdokumentation für Project 2010

Kontextbezogene Hilfe ist in Project Standard und Project Professional verfügbar. Wie bei VBA-Hilfe, um aktualisierte Inhalte abrufen finden Sie im Menü Verbindungsstatus unten rechts im Fenster Projekt-Hilfe, und klicken Sie dann auf Inhalte von Office.com anzeigen. Wenn Sie Project Web App, für die kontextbezogene Hilfe verwenden, klicken Sie auf das Hilfe-Symbol in der oberen rechten Ecke der Seite.

Online-Zugriff auf alle aktuellen Project-Hilfe-Themen finden Sie unter:

  • Project-Hilfe und Anleitungen zu ist für Project Standard und Project Professional und enthält Ressourcen für Top-Themen und Videos zum Projekt zu verwenden.

  • Project Server-Hilfe und Anleitungen zu enthält Hilfe online Project Web App und viele andere Ressourcen. Hyperlinks zu neuen Themen für Project Server 2010 enthalten Informationen und Videos über Business Intelligence (BI)-Center, einen Projektvorschlag, Sicherheitsberechtigungen und Definieren von Phasen und Stufen für ein Projekt-Lebenszyklus erstellen.

  • Projektverweis enthält Referenzinformationen, Projekt-Spezifikationen und zahlreiche andere Referenzthemen.

    Hinweis Hinweis

    Projektmanager verwenden oft Formeln zum Berechnen von Werten für benutzerdefinierte Felder oder mit grafischen Indikatoren verwenden. Beschreibungen und Syntax der Funktionen, die für das Schreiben von Formeln zur Verfügung stehen, finden Sie im Abschnitt "Referenz" in Project Standard oder Project Professional-Hilfe, oder unter Projekt-Funktionen für benutzerdefinierte Felder auf Office.com. Project 2010 verwendet die gleichen Jet Expression service für Formeln verwendet, Microsoft Access 2010. Allgemeine Beispiele und weitere Informationen zu Formeln und Ausdrücken finden Sie unter Handbuch zur Ausdruckssyntax in der online-Hilfe für den Zugriff und Functions (Category List) in der MSDN Library.

  • Verfügbare Sprachen für Endbenutzer von Project-Hilfe   Online-Projekt-Hilfeseiten zeigen die Standardsprache, die im Dialogfeld Region und Sprache in der Systemsteuerung für Ihren Computer festgelegt ist. Für andere Länder und Sprachen können Sie den Kulturcode für die Namen in der URL für ein Hilfethema für die Endbenutzer ersetzen. Beispielsweise ist die englische URL für die Project Server-Hilfe und Anleitungen -Seite http://office.microsoft.com/de-de/en-us/project-server-help/. Französisch-URL für die Project Server-Hilfe und Anleitungen -Seite ist http://office.microsoft.com/de-de/fr-fr/project-server-help/. Eine Liste der Sprachen und der Name des Kulturcodes, die Project Server unterstützt, finden Sie unter PSSupportedLanguages-Klasse .

Weitere Informationen über eine Vielzahl von Themen finden Sie in das offizielle Blog des Projektteams: Microsoft Project 2010.

Unterstützung von Dokumentation und KB-Artikel für Project 2010

Microsoft Customer Service und Support-Team unterhält die Knowledge Base (KB)-Website mit viele Artikel mit Anleitungen und zur Problembehandlung für Project 2010.

Tipp Tipp

Eine Liste der Themakategorien von für die KB-Artikeln und Links zu suchen und RSS-feed-Seiten finden Sie unter Unterstützung für Microsoft Project.

Neue KB-Artikel sind sofort als Maschine, Japanisch, Französisch, Spanisch und Deutsch übersetzt. Customer Service und Support-Team hat viele neue KB-Artikel erstellt und aktualisiert viele legacy KB-Artikel für die Veröffentlichung von Project 2010.

Die Projekt-Support-Seite enthält Links zu finden online, e-Mail und Telefon-Support von Microsoft.

Sie können Fragen und Antworten auf viele Fragen in den Projekt-Foren, Newsgroups ersetzt haben. Allgemeine Informationen zu den Foren finden Sie unter Willkommen in der MSDN-Foren. Im folgenden werden die vier öffentlichen Foren für Projekt:

Die neuesten Informationen über die Project-Unterstützung finden Sie unter Microsoft Office Projekt unterstützen Weblog.

Downloads für Project 2010

Suchen im Microsoft Download Center, um alle Downloads für Projekt zu finden.

Alle Downloads für Project 2010 zu finden.

  1. Navigieren Sie zu dem Microsoft Download Center.

  2. Geben Sie in das Suchtextfeld Project 2010, und drücken Sie dann die Eingeben.

  3. Um die Liste der Ergebnisse sortieren oder filtern, öffnen Sie das Dialogfeld Ergebnisse einschränken , wählen Sie den Filter und Sortierparameter, und klicken Sie auf OK.

Um Downloads zu finden, die für mehrere Office-Produkte gelten, geben Sie die Produktnamen in das Suchfeld ein. Beispielsweise für Projekt Visio Visio 2007-PSP-Modellierers finden suchen.

Dokumentation für andere Officeprodukte und-Technologien

Sie können Project 2010 mit anderen Produkten Microsoft Office, erstellen Sie eine Vielzahl von Office-Geschäftsanwendungen integrieren.

Um Dokumentation für Entwickler und andere Dokumentation für das 2007 Microsoft Office System-Produkte leicht zu finden, können Sie die interaktive Microsoft Office 2010 Developer Karte. Eine PDF-Datei, die alle Office 2010-Client und Server-Produkte und verwandte Technologien anzeigt, finden Sie unter Office 2010: Entwickler Karte Poster.

Abbildung 1 zeigt die Desktop-Anwendungen der Office 2010 Developer Karte. Interaktive Karte enthält Beziehungen aller Microsoft Office Client-Anwendungen, Server-Anwendungen, mobile Anwendungen, Dienste und 365 Office-Anwendungen und verwandte Technologien, Entwicklungstools und Plattform-Komponenten. Nach der Installation von Office 2010-Developer-Karte können Sie jedes Element auf eine Seite für dieses Produkt oder Feature mit Links zu online-Dokumentation finden Sie unter klicken.

Abbildung 1. Microsoft Office-2010-Developer-Karte

Office 2010 Developer Map

Obwohl dieser Artikel auf Project Server 2010 konzentriert, ist das VBA-Objektmodell in Project Standard und Project Professional sehr verbreitet. Sie können VBA Projekt-desktop-Clients mit Makros automatisieren und mit anderen Office 2010 Anwendungen umfassende Business-Lösungen erstellen Projekt integrieren. Für komplexe Lösungen empfehlen wir, dass Sie Microsoft Office-Entwicklungstools in Microsoft Visual Studio 2010 anstelle von VBA verwenden. Weitere Informationen finden Sie unter Project Client Programming.

Makros und benutzerdefinierte Multifunktionsleisten-Befehle   Die einfachste Möglichkeit zum Erstellen eines einfachen Makros ist, verwenden Sie den Befehl Makro aufzeichnen , auf der Registerkarte " Entwickler " der Multifunktionsleiste, und führen Sie dann manuell die Schritte, die Sie das Makro enthalten soll. Um die Registerkarte Entwickler anzeigen möchten, klicken Sie auf DateiOptionen , klicken Sie auf die Menüband anpassen im Dialogfeld Project-Optionen und wählen Sie dann in der Liste der HauptregisterkartenEntwickler . Sie müssen wahrscheinlich das aufgezeichnete Makro im Visual Basic-Editor anpassen und vereinfachen es bearbeiten.

Da Project Standard 2010 und Project Professional 2010 die Multifunktionsleisten-Benutzeroberfläche anstelle einer Symbolleiste und Menüs verwenden, sind neue Methoden für eine benutzerdefinierte Schaltfläche hinzufügen. Siehe How to: Use VBA to Add a Custom Command to the Ribbon und How to: Use Managed Code to Add a Custom Command to the Ribbon.

Allgemeine Informationen über das Erstellen und Bearbeiten von VBA-Makros finden Sie im Office Developer Center und Getting Started with VBA Development in Office 2010. Finden Sie für bestimmte Artikel über VBA-Projekt im Kapitel Verwenden von Ereignissen und das Arbeiten mit Zeitphasendaten Kapitel aus VBA Programming for Microsoft Office Project Versions 98 Through 2007. Es gibt zusätzliche Anleitungen für VBA-Projekt im Project 2007-SDK, z. B. Calendar Exceptions and Effective Work Weeks und Using VBA with Local Custom Fields and Outline Codes.

Tipp Tipp

Das einzige Buch auf VBA-Programmierung für Projekt wird jetzt aktualisiert Project 2010. Finden Sie unter VBA-Programmierung für Microsoft Project ' 98 bis 2010 eine Einführung in VSTO.

Um ein Makro für andere Benutzer Project Standard bereitzustellen, können Sie ein Projekt-MPP-Datei oder mpt-Datei, die das Makro enthält verteilen. Beispielsweise können Sie die Projektdatei in eine SharePoint-Dokumentbibliothek buchen und bieten Anweisungen zum Kopieren und verwenden Sie das Makro. Um ein Makro für alle Projekte auf einem lokalen Computer zu verwenden, kopieren Sie das Makro in die lokale globale Vorlage. Um die Datei "Global.mpt" zu kopieren, können Sie die Organisieren auf der Registerkarte " Entwickler " der Multifunktionsleiste.

Um ein Makro zu einer Gruppe von Project Professional-Benutzer bereitstellen, können Sie die Enterprise-global-Projektvorlage auschecken und kopieren Sie das Makro in der Enterprise-global-Projektvorlage in Project Server. Sie können einen benutzerdefinierte Multifunktionsleiste-Befehl erstellen und kopieren, die in der ausgecheckten Enterprise-global-Projektvorlage.

Hinweis Hinweis

Klicken Sie auf der Registerkarte Entwickler in der Multifunktionsleiste Project Professional Enterprise Global öffnen. Um Makros zu kopieren, Organisierenzu öffnen Sie, und klicken Sie dann auf die Registerkarte Module im Dialogfeld Organisieren . Wählen Sie im linken Bereich der Organisierenein VBA-Modul, und wählen Sie dann im rechten Bereich Ausgecheckte Enterprise-Global .

Automatisieren von Project von Visual Studio mithilfe vonOffice-Entwicklungstools in Visual Studio 2010 bietet Vorteile für die Entwicklung von mehr komplexe, sichere und skalierbare Lösungen, die Project 2010-desktop-Clients und andere Microsoft Office Anwendungen automatisieren. ClickOnce veröffentlichen in Visual Studio erheblich vereinfacht das Entwickeln, testen und Bereitstellen von erweiterte Lösungen, die den Projekt-desktop-Client enthalten.

Einen Überblick über die Änderungen für VBA-Entwickler in Project 2010 finden Sie unter VBA Object Model Changes. Weitere Informationen über Office-Entwicklungstools in Visual Studio 2010 finden Sie unter Office-Entwicklung mit Visual Studio Developer Center auf MSDN. Ein ausführliches Beispiel ein Project 2010-add-in mit Visual Studio 2010 entwickelt wurden finden Sie unter Walkthrough: Building a Managed Code Add-in to Check PWA Compatibility.

Hinweis Hinweis

Add-ins für Project 2010 muss aktualisiert werden, arbeiten mit 32-Bit- und 64-Bit-Versionen. Weitere Informationen finden Sie unter Office Talk: Working with VBA in the 32-bit and 64-bit Versions of Office 2010.

Die Architektur des Project Server 2010 ist mit mehreren Ebenen. Die Präsentationsebene umfasst Project Web App, Project Professional 2010 und Drittanbieter-Client-Anwendungen. Die Anwendungsebene Services umfasst PSI-Dienstleistungen, die Geschäftslogik und SharePoint Server 2010. Die Datenebene enthält Komponenten (Data Access Layer, DAL) und mehrere Microsoft SQL Server-Datenbanken. Abbildung 2 zeigt eine vereinfachte Ansicht der Project Server-Architektur. Ausführlichere Informationen finden Sie unter Project Server 2010 Architecture.

Abbildung 2. Project Server 2010-Architektur

Project Server 2010-Architektur

Projektserver unterstützt mehrere virtuelle Websites von Project Web App. Sie können eine oder mehrere Instanzen des Project Web App auf demselben Computer wie die Kernkomponenten von Project Server oder auf separaten Computern innerhalb der gleichen SharePoint-Serverfarm installieren. Jede Instanz von Project Web App verwendet die gleichen Core Project Server und andere freigegebene Dienste, sondern separate Datenbanken. Z. B. die folgenden zwei Project Web App virtuellen Websitesammlungen insgesamt acht Project Server-Datenbanken erfordern und teilen die Konfigurations- und Inhaltsdatenbanken von SharePoint Server:

  • http://ServerName/pwa/

  • http://ServerName/pwaTest/

In den vorherigen Beispielen sind pwa und PwaTest Namen von virtuellen Project Web App Websitesammlungen. Jede virtuelle Website verfügt über einen eigenen unabhängigen Liste der autorisierten Benutzer, die in der SharePoint-Inhaltsdatenbank gespeichert ist. Project Server-Datenbanken speichern keine Anmeldeinformationen. Die pwa -Website verwendet beispielsweise die Datenbanken, die mit dem Namen ProjectServerDraft, ProjectServerPublished, ProjectServerArchive und ProjectServerReporting. Die PwaTest -Website verwendet die unabhängigen Datenbanken mit dem Namen TestDraft, TestPublished, TestArchive und TestReporting. Sie können die Datenbanken installieren, auf verschiedenen Computern SQL Server 2005 oder SQL Server 2008.

Project Web App ist mit Microsoft ASP.NET 3.5 integriert und kompilierte Assemblys, die Interaktion mit Project Server über die PSI verwendet. ActiveX-Steuerelemente sind in Project Web App Seiten eliminiert und ersetzt durch die neuen JS Grid-Steuerelement in SharePoint 2010. Entwickler haben Zugriff auf den Code hinter der Webparts und ASPX-Seiten nicht in Project Web App. Allerdings können Sie das JS Grid-Steuerelement-Objektmodell zu ändern und Erweitern von Project Server Webparts verwenden Sie die JS Grid-Steuerelement zugreifen. Sie können auch ändern die Multifunktionsleiste Project Web App und SharePoint Server-Objektmodell verwenden, erstellen Sie Ihre eigenen Webparts, die Interaktion mit Project Server Webparts. Der Microsoft Visual C# oder Microsoft Visual Basic-Code in Ihre Erweiterungen ist nicht an andere Entwickler verfügbar gemacht. Beispiele finden Sie in der How to: Modify the Ribbon in PWA, Walkthrough: Customizing the PWA Ribbon and Accessing the JS Grid und Walkthrough: Creating a Project Server Web Part with a JS Grid.

Project Web App werden SharePoint Server 2010 für die Authentifizierung und als Webserver verwendet. Weitere Informationen darüber, wie die Project Web App mit den PSI funktioniert, wenn es auf einem separaten Computer installiert ist finden Sie unter Project Server 2010 Architecture im SDK Project 2010.

Zugriff auf Projektserver 2010-Daten

Project Professional 2010 und alle Drittanbieter-Anwendungen kommunizieren mit Project Server 2010 nur über die PSI. In Project Server-Versionen vor 2007 verwendet Project Professional ODBC für den direkten Zugriff auf Project Server-Datenbanken. ODBC kann durch Firewalls der meisten Unternehmen verwendet werden. Project Professional 2010 entfällt die Notwendigkeit direkter Datenbankzugriff, außer für die Reporting-Datenbank. Die Reporting-Datenbank kann auf einem Computer mit SQL Server, getrennt von der Project Server-Datenbanken installiert werden.

Vorsicht Vorsicht

Nichts wird verhindert, dass mithilfe von direkten Programmzugriff auf die Datenbanken Entwurf und veröffentlicht. Ihnen sollte bewusst sein, die Project Professional-Cache, der Publishing-Datenbank und die Berichtsdatenbank alle verlassen sich auf ein Cache-Synchronisierungsprotokoll, die durch direkte Datenbearbeitung gestört werden kann. Wenn Sie Ihre Project Server-Datenbanken oder Project Professional beschädigen speichert Client-seitige über direkten Zugriff auf Daten ändern, werden gewarnt, dass Produkt-Support nicht helfen werden.

Die PSI ist die Schnittstelle zwischen der Anwendung und die Business-Objekt-Ebene. Geschäftsobjekte in Project Server sind die Komponenten, die die Regeln für Projekt, Vorgang, Ressource, wie logische Entitäten enthalten und Zuweisung kann geändert werden, und deren Interaktion untereinander und mit den anderen Project Server-Komponenten. Jede logische Entität kann mehreren Datenbanktabellen umfassen. Da alle Clientanwendungen über die PSI gehen und dieselbe Geschäftslogik verwenden, unterhält Project Server die richtigen Beziehungen zwischen den Geschäftsobjekten. Business-Objekten arbeiten nicht direkt mit der Project Server-Datenbanken; Sie rufen die DAL, die Transaktionen mit den korrekten Datenbanktabellen behandelt.

Nicht alle Project Server-Daten wird über die PSI. Die meisten Enterprise-Kalender-Daten ist z. B. ein binäres Bild (ein BLOB)-Feld in der Datenbank veröffentlicht. PSI-Methoden erstellen können, lesen, und Enterprise Update Kalender Ausnahmen, aber Daten kann nicht für die Arbeitswochen verwalten. Um die Arbeit Woche Daten zu verwalten, müssen Sie Project Professional (oder eine VBA-Makro oder ein Add-in-Projekt) verwenden.

Versuchen Sie die Berichtsdatenbank

In einigen Fällen ist es einfacher, Project Server-Daten zu lesen, mithilfe der Reporting-Datenbank als die PSI. Beispielsweise können Sie schnell erhalten den Wert eines benutzerdefinierten Felds, das eine Nachschlagetabelle verwendet da Project Server eine OLAP und einer Benutzeransicht in der Berichtsdatenbank für jedes benutzerdefinierte Feld erstellt. Beispielsweise enthält die integrierten MSPLT_Department_UserView Daten für Abteilungen, die in der Nachschlagetabelle Abteilung in Project Web App definiert sind. Die folgende Abfrage listet die ersten neun Abteilungen in der Nachschlagetabelle plus besondere Null-Member.

SELECT TOP 10 [LookupMemberUID]
      ,[MemberValue]
      ,[MemberDescription]
FROM [ProjectServer_Reporting].[dbo].[MSPLT_Department_UserView]

Der Reporting-Datenbank-Schemareferenz finden Sie unter Projekt 2010 SDK downloaden. Die Schemareferenz enthält Ansichten für die integrierte benutzerdefinierte Felder, die Lookup-Tabellen, z. B. Kostentyp, Gesundheitund RSP-Codeverwenden. Für benutzerdefinierte Felder, die keine Nachschlagetabelle verwenden, können Sie die Project-Ansicht, Ressourcenansicht oder Benutzer Vorgangsansicht. Die folgende Abfrage findet z. B. den Wert eines benutzerdefinierten Task-Feldes mit dem Namen Test Number, für alle Vorgänge im angegebenen Projekt.

SELECT task.[ProjectUID]
      ,[TaskName]
      ,[TaskIndex]
      ,[TaskDuration]
      ,[Test Number]
FROM [ProjectServer_Reporting].[dbo].[MSP_EpmTask_UserView] AS task
INNER JOIN [ProjectServer_Reporting].[dbo].[MSP_EpmProject_UserView] AS proj
   ON task.ProjectUID = proj.ProjectUID
WHERE proj.ProjectName = N'My Swell Project'

Weitere Informationen finden Sie unter Custom Fields and the Reporting Database.

Zwischenspeichern, Queuing, Ereignisse und serverseitigen Zeitplanung in Project 2010

Der lokale Cache in Project Professional 2010, mit der Project Server-Warteschlangendienst ermöglicht offline arbeiten und verringert die Zeit, die zum Öffnen und Speichern von Projekten erforderlich ist. Wenn ein Projekt-Manager nach der Offlinebearbeitung wieder verbindet Project Professional sendet eine Nachricht an den Project Server-Warteschlange und speichert nur die geänderten Daten. Project Server-Warteschlange verarbeitet die Daten asynchron zu speichern und Projekt-Manager beenden Sie Project Professional oder wieder an die Arbeit erhalten kann.

Project Server-Ereignisdienst ist ein wichtiges Feature, mit dem Project Server-Funktionalität erweitern kann. Entwickler können Ereignishandler erstellen und registrieren Sie sie programmgesteuert mithilfe von Methoden in der Events-Dienst des PSI oder mithilfe von Project Web App. Jede wichtige Business-Objekt (z. B. CustomFields, CubeAdmin, LookupTable, Project, Reporting, Security und TimeSheet) enthält mehrere Ereignisse, die Sie auf der Seite Server-Side-Ereignishandler in Project Web App sehen können (http://ServerName/ProjectServerName/_layouts/pwa/admin/Events.aspx). Ereignishandler bereitstellen "Hooks" für neue Funktionen hinzufügen, vorhandene Funktionalität Anpassung und Integration mit anderen Anwendungen. Einige Beispiele finden Sie in der Ereignisse in Projektserver 2010 in diesem Artikel.

Das Planungsmodul in Project Server 2010 wurde verbessert. In früheren Versionen des Projekts Wenn ein Teammitglied einen anderen Zeitraum als für einen Vorgang geplant wurde gemeldet hatte beispielsweise Projekt-Manager zum Öffnen des Projekts in Project Professional, die Aufgabe und die davon abhängigen planen. Project Server 2010 können Vorgänge neu berechnen. Beispielsweise können Sie eine benutzerdefinierte Arbeitszeittabellen-System implementieren, und Project Server berechnet Projekte herum neu, ohne dass die Daten zu einen Roundtrip durch Project Professional. Die PSI enthält jedoch keine Methoden direkt aufrufen, das Planungsmodul von Project Server.

Hinweis Hinweis

Die öffentlichen Methoden in der PSI unterstützt gängige und nützlichen-Anforderungen für die Verwaltung von Server-Side-Projekte und Integration mit anderen Anwendungen. Öffentliche PSI befasst sich nicht alle Funktionen von Project Professional oder Project Web App, die auch Methoden und einige private PSI-Dienste verwenden.

Weitere Informationen finden Sie unter What the PSI Does and Does Not Do.

Project Server 2010 erfordert Microsoft SharePoint Server 2010 mit Lizenz für den Zugriff auf den Enterprise-Client. Alle Project Web App Funktionen basieren auf SharePoint Server, einschließlich der Websiteverwaltung, Benutzerauthentifizierung, Workflow, Project Server Webparts wie z. B. Projektcenter und eigene Vorgänge und Projekt-Websites, die Listen der Probleme, Risiken, Lieferbestandteile und verwandte Dokumente enthalten. Eine Einführung in SharePoint-Architektur finden Sie unter SharePoint 2010 Architectures Overview.

Project Server-Sicherheit

SharePoint Server 2010 verarbeitet die Benutzerauthentifizierung durch Schadensbearbeitung, ein neues Feature für SharePoint Server ist. SharePoint verarbeitet Windows-Authentifizierung und Formularauthentifizierung für Project Server-Benutzer. Projektserver fügt globale Berechtigungen und Kategorieberechtigungen für Benutzerautorisierung verschiedener Features von Project Server und Aktionen, die beim Auswählen eines Benutzers in der Seite Benutzer verwalten in Project Web App zugänglich sind.

Das Geschäftsobjekt Security in Project Server (mit den programmatischen Zugriff über die PSI-Security-Dienst) verwaltet die Sicherheitsgruppen, Kategorien, Vorlagen und globale Project Web App-Berechtigungen. Security-Dienst kann vorhandene Berechtigungen Berechtigungen hinzufügen oder Entfernen aus der Project Server-Benutzern zur Verfügung. Allerdings hat der Security-Dienst eine Methode zum Erstellen von benutzerdefinierter Berechtigungen keinen.

Hinweis Hinweis

In Office Project Server 2007 können Sie benutzerdefinierte globale und Kategorieberechtigungen erstellen, durch Ändern der Sicherheit von Tabellen in der Datenbank veröffentlicht. Artikel Walkthrough: Creating and Using Custom Project Server Permissions ist das einzige SDK-Beispiel, in dem eine Ausnahme gemacht wird, für die veröffentlichte Datenbank direkt ändern. Benutzerdefinierte Berechtigungen angezeigt werden in der Liste der Berechtigungen in Project Web App, wo können Project Server-Administratoren eine Drittanbieter-Erweiterung auf die gleiche Weise sichern, die andere Features von Project Server zu sichern. In Project Server 2010, dass der Prozess zum Erstellen von benutzerdefinierte Berechtigungen veraltet ist. Als Alternative könnten Sie Ihre eigene Benutzeroberfläche zum Verwalten von benutzerdefinierter Berechtigungen erstellen.

Informationen zum Integrieren des Project Server-Sicherheitsmodells in Berichten finden Sie unter Using Project Server Security in SQL Server Reporting Services Reports. Weitere Informationen zu Project Server-Sicherheit, einschließlich einer Diskussion von globalen und Kategorieberechtigungen finden Sie unter Project Server Security Primer in der Project Server 2007 SDK und Sicherheit und Schutz für Project Server 2010 in TechNet.

Project Server Webparts

Die Webseite Entwicklung Fähigkeit Project Web App und SharePoint Server 2010 basiert auf der .NET Framework 3.5. Sie können entwickeln Webparts für Project Web App wie für andere SharePoint-Websites, da Project Web App einer SharePoint-Website . Visual Studio 2010 macht es viel einfacher als in früheren Versionen zu entwickeln, bereitstellen, testen und Debuggen von Webparts. Eine neue visuelle Webpart-Projektvorlage stellt einen Designer für Webparts.

Sie können Webparts Project Web App Seiten hinzufügen, die die Option Seite bearbeiten auf das Menü Websiteaktionen enthalten. Einige Seiten, wie z. B. Portfolio-Analysen und Server-Einstellungen für bestimmte Funktionen dienen und nicht können Sie die Seite bearbeiten. Project Web App-Administratoren können den Schnellstart -Link auf der Seite Servereinstellungen jedoch Abschnitte und Links zu benutzerdefinierten Seiten in der Schnellstartleiste hinzufügen. Abbildung 3 zeigt, wie einfach es ist bearbeitbar Project Web App Seiten Webparts hinzu. Klicken Sie einfach auf das Menü Websiteaktionen auf Seite bearbeiten , und klicken Sie dann auf Webpart hinzufügen im Seitenabschnitt soll. In Abbildung 3 wird das Webpart Probleme in der Project Web App -Kategorie ausgewählt.

Abbildung 3. Hinzufügen eines Project Server-Webparts

Hinzufügen eines Project Server-Webparts

Project Server 2010 enthält 18 spezialisierte Project Server Webparts in der Project Web App -Kategorie, z. B. Projektcenter, Projektdetailsund Meine Arbeitszeittabelle. SharePoint Server 2010 enthält viele weitere Webparts in mehrere Kategorien. (Die Kategorie JS Grid-Beispiele in Abbildung 3 ist eine benutzerdefinierte Erweiterung, die Sie nicht in Ihrer eigenen Project Web App-Website sehen würden). Um eine Liste von ca. 90 integrierte Webparts-, die für die Verwendung in Project Web App auf das Menü Websiteaktionen verfügbar sind, finden Sie unter Klicken Sie auf Websiteeinstellungen, und klicken Sie dann auf Webparts im Abschnitt Galerien .

Webparts können die System.Web.UI.WebControls.WebParts-Namespace in ASP.NET 3.5 oder Microsoft.SharePoint.WebControls-Namespace verwenden. Weitere Informationen zu benutzerdefinierten Webparts und dem Namespace verwenden, finden Sie unter Developing Project Server Web Parts.

Hinweis Hinweis

Sie können andere SharePoint-Websites Project Server 2010 Webparts hinzufügen, wenn sie innerhalb der gleichen Serverfarm als Project Server sind. Project Server 2010 muss nicht der SharePoint-Websites bereitstellen.

Mit der .NET Framework 3.5 Ziel erstellen visuelle Webpart-Projektvorlage und der Webpart-Elementvorlage im Visual Studio 2010 ein Webpart mit der Dateinamenerweiterung der .webpart-Datei. Project Web App unterstützt auch ältere Windows SharePoint Services 2.0 Webparts (mit die Dateinamenerweiterung DWP), benutzerdefinierte ASCX-Steuerelemente und andere Erweiterungsfeatures von Microsoft ASP.NET 2.0. Wir empfehlen, ASP.NET 3.5 Webparts erstellen, soweit möglich, für die Kompatibilität mit SharePoint Server 2010 und andere ASP.NET 3.5 oder Microsoft ASP.NET 4.0 Anwendungen, die von SharePoint nicht gehostet werden.

Ändern von Project-App Webseiten
SharePoint Server 2010 Masterseiten verwendet, um das Aussehen und Verhalten von Webseiten innerhalb einer Site zu steuern. Project Server ermöglichen jedoch nicht die Verwendung von Microsoft SharePoint Designer 2010Project Web App Seiten oder Masterseiten, bearbeiten, da SharePoint Designer nicht ganzzahligen Code verwalten kann, der die PSI und andere Project Server-Assemblys zugreift. Sie können Änderungen für Project Web App Ihrer Organisation branding, Farbschemas und Terminologie zu integrieren; finden Sie auf der Seite Websiteeinstellungen im Abschnitt Aussehen und Verhalten . Sie können auch hinzufügen, entfernen, deaktivieren, Ändern der Darstellung, oder ändern Sie die Aktion der Steuerelemente auf der Multifunktionsleiste Project Web App. Weitere Informationen finden Sie unter How to: Modify the Ribbon in PWA.

Die JS Grid-Steuerelement (Teil des Microsoft SharePoint Foundation 2010) ersetzt das ActiveX-Grid-Steuerelement, das in früheren Versionen von Project Server verwendet wird. Die JS Grid-Steuerelement verwendet die ECMAScript (JavaScript, JScript) für clientseitige Änderungen des Rasters. Project Web App-Seiten, die eine JS Grid-Steuerelement enthalten, können Sie für die JS Grid-Steuerelement-Objekt-Modell und Ereignishandler Raster ändern und Hinzufügen von Funktionalität; Rückrufe können auch Server-Side-Assemblierungen verwenden. Ein Beispiel finden Sie unter Walkthrough: Customizing the PWA Ribbon and Accessing the JS Grid. Ihre benutzerdefinierten Webparts können PSI-Methoden oder Drittanbieter-Anwendungen aufrufen. Ein Beispiel finden Sie unter Walkthrough: Creating a Project Server Web Part with a JS Grid.

Projektwebsites

Beim Erstellen und eines Projekts veröffentlichen erstellen standardmäßig Sie auch eine Website für die Teamzusammenarbeit. In früheren Versionen von Project Server wurde eine Website als eine Project-Arbeitsbereich bezeichnet. Der Standard-Website für ein Projekt mit dem Namen My Test Project ist z. B. die folgenden:

http://ServerName/My%20Test%20Project/default.aspx

Sie können angeben, einen anderen Server, der SharePoint innerhalb der gleichen Farm ausgeführt wird, oder einen anderen Sitenamen angeben, wenn Sie Project Professional oder die PSI erstellen und Veröffentlichen von Projekten. Projekt-Websites können Listen der Dokumente, Probleme, Risiken und Projektlieferumfang enthalten. Projektmanager kann Aufgaben oder Meilensteine als eine Liste der zu erbringenden Leistungen für ein Projekt veröffentlichen, und andere Projektmanager können diese Liste zum Abrufen von Benachrichtigungen über Änderungen in Datumsangaben abonnieren. Veröffentlichen oder Abonnieren von Leistungen hat keine Auswirkungen auf Task planen entweder Projekt, aber dient als eine Möglichkeit zur Verbesserung der Zusammenarbeit zwischen Projekten.

Eine Liste des Lieferumfangs ist eine spezielle SharePoint-Liste. Die SharePoint 2010 SDK enthält Beispiele zum Entwickeln von benutzerdefinierte Listen. Da Projektsites grundlegende SharePoint-Websites, die einige benutzerdefinierten Listen haben sind, können Sie alle SharePoint-Techniken für die Anpassung und Erweiterung, einschließlich die Masterseite mit SharePoint Designer 2010 ändern. Um eine neue Masterseite für Projektsites zu erstellen, erstellen Sie manuell eine Website, die nicht zu einem Projekt verbunden ist (d. h., wo die Site nicht von Project Server erstellt wird beim Veröffentlichen eines Projekts). Ändern Sie diese Site zu, und verwenden Sie die Masterseite als Masterseite für die Projekt-Websites.

Informationen zum Ändern der Vorlage für Projektsites finden Sie unter Extending the Project Workspace Template in Project 2007-SDK. Informationen zum Verwenden von SharePoint-Listendaten, wie Probleme Risiken und andere benutzerdefinierten Listen finden Sie unter der buchauszug, Importing SharePoint List Data into Project Server 2007 Custom Fields. Der Prozess funktioniert auch für Project Server 2010. Weitere Informationen zum Anpassen von Projekt-Websites finden Sie in der SharePoint-Entwicklercenter.

Project Server-Workflows

Windows Workflow Foundation (WF) ist eine Windows-basierte Plattform-Komponente, die gehostet und von SharePoint Foundation 2010 erweitert wird. WF ist ein Entwicklungsframework, nicht auf einem Server oder Anwendung, die eine gemeinsamen Workflowtechnologie für SharePoint und anderen Windowsanwendungen bietet. Weitere Informationen zu Workflows in SharePoint finden Sie unter Neuigkeiten: Verbesserungen bei Workflows.

Project Server 2010 fügt weitere Erweiterungen und eine Beschränkung auf die SharePoint-Workflow-Plattform. Projektserver beinhaltet benutzerdefinierte Workflowaktivitäten, die mit den standardmäßigen SharePoint und WF-Aktivitäten verwendet werden können. SharePoint Designer 2010 können Sie um Project Server-Workflows zu entwickeln, Sie in SharePoint können. Project Server-Workflows erfordern die Entwicklung mit Visual Studio 2010 auf einem Project Server-Computer.

Einige Tools in der Microsoft Project 2010 Lösung Vorspeisen, die nach der Veröffentlichung von Project Server 2010 eingeführt wurden, die Hilfe in Simple (Verzweigung) Workflows erstellen und Verwalten von Funktionen beziehen. Workflows sind in Management und Portfolio-Analysen bei Bedarf vollständig integriert. Weitere Informationen zu Project Server-Workflows finden Sie unter Workflow and Demand Management und Developing Project Server Workflows.

SimpleUI-URL-Optionen in Projektweb App

Project Web App Seiten implementieren noch die herkömmlichen URL-Optionen mit dem Namen SimpleUI, ausblenden oder Anzeigen der verschiedenen Teile der Seite, obwohl diese Optionen nur selten verwendet werden. In Project Server 2010 wird die Einstellung die SimpleUI als Cookie auf dem lokalen Computer des Benutzers beibehalten. SimpleUI gilt global Project Web App-Seiten, nicht jedoch andere SharePoint-Websites in der Farm, die Project Server-Bereitstellung verfügen. Die Multifunktionsleiste, die in Project Server 2010 neu ist, ist nicht betroffen. Für ein einfaches Beispiel blendet die folgende URL der Schnellstartleiste in Project Web App:

http://ServerName/ProjectServerName/default.aspx?SimpleUI=8

Alle Seiten haben jetzt die gleichen Elemente entfernt, und die Option SimpleUI in andere Seiten nicht mehr angezeigt. Fügen Sie vorübergehend die Standardansicht für die aktuelle Seite zurück, um einen beliebigen URL Project Web App?SimpleUI=0. Um die Standardansicht auf allen Seiten beizubehalten, fügen Sie ?SimpleUI=16. Im Gegensatz zu den 256 Kombinationen von SimpleUI in Project Server 2003 verwendet Project Server 2010 32 Bitmaske Kombinationen (0 bis 31). Eine Tabelle der URL-Optionen finden Sie unter Scenarios for Custom Web Parts in Project 2007-SDK.

Die PSI enthält eine Reihe von 22 öffentliche Dienste (auch als Web Services, wenn sie über die ASMX-Schnittstelle zugegriffen werden). Die meisten Dienste PSI entsprechen den Project Server-Business-Objekte, die logischen Entitäten wie z. B. Projekt- und Ressourcendaten sind. Die PSI hat einen Project-Dienst für die Projekt-Entität, Resource Dienst für die Ressource-Entität, ein TimeSheet Dienst für die Arbeitszeittabelle Entität und So weiter. Jede PSI-Service umfasst eine oder mehrere DataSet-Objekten, die Daten für diese Entität enthalten. Die meisten PSI-Methoden verwenden einen DataSet-Parameter oder ein DataSet-Objekt zurückzugeben. QueueCreateProject-Methode in der Project-Dienst sendet beispielsweise eine Nachricht auf der Project Server-Warteschlange erstellen Sie ein Projekt in der Entwurfsdatenbank mit den Daten in der ProjectDataSet-Parameter angegeben. Im folgenden werden die Signatur der Methode QueueCreateProject.

public void QueueCreateProject(Guid jobUid, ProjectDataSet dataset, 
   bool validateOnly);

jobUid-Parameter können Sie verfolgen und verwalten den Auftrag in der Warteschlange mithilfe der Methoden des Dienstes QueueSystem. PSI-Methoden, die beginnen mit dem Namen Warteschlange, wie z. B. QueuePublish und QueueCheckInProject, laufen alle asynchron; Projektserver stellt eine Nachricht in die Warteschlange und übergibt dann die Kontrolle zurück an Ihre Anwendung. Andere Methoden wie CheckOutProject und ReadProject, synchron ausgeführt; die Anwendung wird nicht fortgesetzt, bis die Methode abgeschlossen ist.

ReadProject-Methode das angegebene Projekt in einer angegebenen Datenbank liest und ein ProjectDataSet-Objekt zurückgibt. Alle Entitäten werden in Project Server von einer GUID identifiziert. Einige Parameter in der PSI-Methoden verwenden, Enumerationen, die in der Assembly Microsoft.Office.Project.Server.Library.dll oder manchmal in der PSI-Dienst sind. Folgendes ist z. B. die Signatur der Methode ReadProject.

public ProjectDataSet ReadProject(Guid projectUid, DataStoreEnum dataStore);

Im folgenden Codefragment eines Aufrufs an die Methode ReadProject ist der SvcProject-Namespace einen beliebigen Namen eines Proxys für den Projekt-Dienst in der PSI. Der Wert der Variablen projUid ist die GUID eines Projekts, das zuvor an der Entwurfsdatenbank (Working-Speicher) gespeichert wurde.

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

private static SvcProject.ProjectClient projectClient;
. . .
    // Initialization of the projectClient object is not shown here.
    
    Guid projUid = new Guid("8024BEB0-7814-44CF-98FF-4E74148E3404");
    SvcProject.ProjectDataSet projDs = 
        projectClient.ReadProject(projUid, PSLibrary.DataStoreEnum.WorkingStore);
    . . .

Duale Schnittstelle: ASMX und WCF

Da die WCF-Schnittstelle in der Project Server-Anwendungsdienst im Back-End von SharePoint Server definiert ist, können Sie Internet Explorer die WCF-Schnittstelle des PSI-Services anzeigen. Die WCF-Schnittstelle für jeden Dienst PSI enthält eine primäre Klasse, die die Methoden, die Sie verwenden enthält, um den Dienst zugreifen. Die primäre Klasse hat des Client -Suffixes. Beispielsweise ist die primäre Klasse in den Projekt-Dienst ProjectClient; in der Ressource-Dienst ist die primäre Klasse ResourceClient.

Es gibt mehrere Überladungen für den Konstruktor einer primären Klasse. Die verwendete Methode zum Initialisieren einer primären Klasse ist einen WCF-Endpunkt zu definieren und verwenden Sie den Namen des Endpunkts als Parameter, wie im folgenden Beispiel:

projectClient = new SvcProject.ProjectClient("basicHttp_Project");

Sie können einen WCF-Endpunkt programmgesteuert oder in einer Konfigurationsdatei Service, wie z. B. app.config oder web.config definieren. Ein Beispiel für eine app.config-Datei finden Sie im Abschnitt Hinzufügen einer Service-Konfigurationsdatei in Prerequisites for WCF-Based Code Samples. Ein Beispiel für einen WCF-Endpunkt programmgesteuert definieren finden Sie unter Programmgesteuertes Dienste konfigurieren im Abschnitt Walkthrough: Developing PSI Applications Using WCF. Können Sie eine Dienstkonfigurationsdatei Wenn Ihre Anwendung Stand-alone ist – das heißt, wenn Ihre Anwendung nicht Dienstkonfigurationsdatei einer anderen Anwendung auswirkt. Um zu vermeiden, ändern die Datei "app.config" für Project Web App müssen selbst, Sie programmgesteuert einen WCF-Endpunkt definieren, wenn Ihre Anwendung eine Erweiterung von Project Server, z. B. einen Ereignishandler, der eine Änderung des JS Grid-Steuerelement auf einer Seite Project Web App oder PSI ist.

ASMX-Schnittstelle   Da der Zugriff auf die ASMX-Schnittstelle im front-End Project Web App können Internet Explorer Sie die ASMX-Schnittstelle des PSI-Webdienste finden Sie unter. Beispielsweise ändern Sie den folgenden URL für Ihre Project Web App-Instanz, und fügen Sie den URL in Internet Explorer:

http://ServerName/ProjectServerName/_vti_bin/PSI/project.asmx?wsdl

Die primäre Klasse in der ASMX-Schnittstelle für jeden Webdienst PSI ist einfach der Name des Dienstes. Beispielsweise ist die primäre ASMX-Klasse im Projekt-Dienst Project; in der Ressource-Dienst ist Resource. Im folgenden Codeausschnitt ist ProjectWebSvc der beliebigen Proxy für den Projekt-Dienst in der PSI-Namespace. Sie können das primäre Project-Objekt initialisieren, einfach durch Festlegen der Url-Eigenschaft und die Credentials-Eigenschaft, wie im folgenden Beispiel.

using System.Web.Services.Protocols;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .

    ProjectWebSvc.Project project = new ProjectWebSvc.Project();
    project.Url = "http://ServerName/ProjectServerName/_vti_bin/psi/project.asmx";
    project.Credentials = CredentialCache.DefaultCredentials;

Nach der Initialisierung der primären Klasse in einem PSI-Dienst ist der Rest des Codes in einer ASMX-basierten Anwendung in einen WCF-basierte Anwendung identisch (außer in Fällen, in denen die Anwendung Identitätswechsel wird oder die Project Web App-Instanz die Windows-Authentifizierung und Formularauthentifizierung verwendet). Weitere Informationen über die ASMX-Schnittstelle finden Sie unter Prerequisites for ASMX-Based Code Samples. Mehrere PSI-Methoden in der Project 2010-SDK enthalten Codebeispiele für die WCF-Schnittstelle und die ASMX-Schnittstelle; zum Beispiel finden Sie unter ReadProjectStatus.

Wir empfehlen, die WCF-Schnittstelle verwenden, wenn Sie neue Anwendungen entwickeln, die die PSI-Dienste verwenden. Die ASMX-Schnittstelle ist für Project Server-legacy-Anwendungen (die für Office Project Server 2007 entwickelt) zur Verfügung. Für ältere Anwendungen für Project Server 2003 oder früheren Versionen entwickelt müssen Sie die Anwendungen für Project Server 2010 vollständig neu entwerfe. In vielen Fällen können älteren Anwendungen nicht mehr wegen der neuen Features in Office Project Server 2007 und Project Server 2010 arbeiten. Informationen zum Portieren von Anwendungen für ältere Project Data Service (PDS) finden Sie unter PDS Parity in PSI Web Services. Weitere Informationen zu den WCF und ASMX-Schnittstellen finden Sie unter Overview of WCF and the PSI.

Es ist ein schneller Einstieg

Mithilfe der WCF-Schnittstelle des PSI kann verwirrend sein, da es so viele Optionen bei der Entwicklung mit WCF-Diensten in Project Server. Es gibt drei Möglichkeiten, einen WCF-Dienstverweis hinzufügen, und es gibt zwei Möglichkeiten, den Dienst zu konfigurieren (oder drei Möglichkeiten), wenn Dienstkonfigurationseditor in Visual Studio verwenden, wie im Abschnitt Konfigurieren von Diensten mit app.config in Walkthrough: Developing PSI Applications Using WCF beschrieben.

Versuchen Sie ein Beispiel, in dem die Konfiguration bereits abgeschlossen ist, um Angelegenheiten zu vereinfachen, wenn Sie lernen PSI-Entwicklung beginnen.

Ihre erste WCF-basierte PSI-Anwendung erstellen

  1. Installieren Sie den Projekt 2010 SDK-Download. Es ist einfacher zu installieren, ein Verzeichnis wie z. B. C:\Project_SDK, statt in das Standardverzeichnis Berechtigungsprobleme zu vermeiden, wenn die Visual Studio-Beispiele verwenden.

  2. Extrahieren Sie die Datei ~\Documentation\Intellisense\WCF\Source.zip gleichen Unterverzeichnis, und führen Sie den CompileWCFProxyAssembly-Befehl in einer Visual Studio-Eingabeaufforderungsfenster. ProjectServerServices.dll-Proxy-Assembly erstellt.

  3. Öffnen Sie die Projektmappe Samples\ManagedCodeReference\CreateProject4Department.sln in Visual Studio 2010.

    HinweisHinweis

    Sie sollten möglichst auf einer Testinstallation von Project Server zusammenarbeiten. Für viele Anwendungen (mit Ausnahme von Workflows oder Project Web App oder Project-Sites ändern), können Sie auf einen externen Computer entwickeln, aber dann müssen Sie die Microsoft.Office.Project.Server.Library.dll und ProjectServerServices.dll-Proxy-Assembly auf Kopieren des remote-Computers.

  4. Legen Sie einen Verweis auf die ProjectServerServices.dll-Proxy-Assembly, die Sie in Schritt 2 erstellt haben, und sicherzustellen Sie, dass der Verweis auf Microsoft.Office.Project.Server.Library gültig ist.

  5. Ändern Sie in der Datei app.config die Endpunktadressen den richtigen Servernamen und Project Web App-Namen für den ProjectServer.svc-Endpunkt zu verwenden.

  6. In der Datei Program.cs ändern Sie den Verzeichnisnamen für die OUTPUT_FILES-Konstante, wenn Sie einen anderen Wert.

  7. Erstellen Sie eine oder mehrere Abteilungen in der Nachschlagetabelle Abteilung (http://ServerName/ProjectServerName/_layouts/PWA/Admin/EditLookupTable.aspx?_guid=e7397277-1ab0-4096-b2dd-57029a055ba4 verwenden), und finden Sie die GUID eines der Abteilungen, wie beschrieben in den Kommentaren in der Datei Program.cs. Ändern Sie den Wert der DEPARTMENT_TEST-Konstante.

  8. Kompilieren Sie und führen Sie des Programms aus. Sie sollten die folgende Ausgabe im Fenster Eingabeaufforderung den Befehl Visual Studio sehen.

    XML output of the ProjectDataSet before QueueCreateProject:
        C:\Project\Samples\Output\ProjectDataSet4Department_before.xml
    Creating project: Test Dept 1
    Waiting for job: ProjectCreate .................................................
    
    XML output of the ProjectDataSet after ReadProject:
        C:\Project\Samples\Output\ProjectDataSet4Department_after.xml
    
  9. Drücken Sie eine beliebige Taste, um das Fenster Eingabeaufforderung zu beenden. Wenn Sie Fehlermeldungen erhalten, stellen Sie sicher, dass Sie die richtige Berechtigungen zum Zugriff auf Project Web App und Erstellen von Projekten verfügen. Überprüfen Sie ULS-Protokolle auch, wie in der Fehler in Projektserver 2010 prüfenbeschrieben.

Verwendung von DataSet-Objekte in der PSI

Jeder PSI-Service umfasst die DataSet-Klassen, die es benötigt, die Informationen in den Geschäftseinheiten entsprechen. Ein DataSet-Objekt ist im Wesentlichen eine speicherinterne relationale Datenbank, die ein Schema für die Tabellen, Beziehungen, Einschränkungen, Zeilen und Felder enthält. Jedes DataSet-Objekt enthält ein oder mehrere DataTable-Objekte, die DataRow-Objekte enthalten. Jede DataRow enthält eine oder mehrere Eigenschaften (Datenfelder) und Methoden für die Verwaltung der Zeile. Beispielsweise enthält die ResourceDataSet-Klasse untergeordneten Klassen wie ResourceDataTable und ResourceRatesDataTable, die die Resource-Tabelle und der ResourceRates-Tabelle entsprechen. ResourceDataSet.ResourceRatesRow-Unterklasse definiert eine Zeile (d. h., eine Kosten Ressourceneintrag) in der Tabelle ResourceRates.

Im folgenden Code für die Konsolenanwendung Demo_UpdateResource enthält die Variable resourceDs ein ResourceDataSet-Objekt.

HinweisHinweis

Hier wird die Definition der "basicHttp_Resource"-WCF-Endpunkt in der app.config-Datei nicht angezeigt. Sie können jede Datei app.config für PSI Beispiellösungen in der SDK downloaden Project 2010 anpassen.

Behandlung von FaultException Fehlern in WCF-basierten Anwendungen sollten Sie die try-catch-Anweisungen für Aufrufe von PSI-Methoden verwenden. In ASMX-basierten Anwendungen würden Sie SoapException Fehler abzufangen. Weitere Informationen finden Sie im Codebeispiel für WCF -Abschnitt und im Codebeispiel für ASMX -Abschnitt in Project Server Error Codes.

using System;
using System.ServiceModel;
using System.Xml;
using PSLibrary = Microsoft.Office.Project.Server.Library;

namespace Demo_UpdateResource
{
    class Program
    {
        private const string ENDPOINT_RESOURCE = "basicHttp_Resource";
        private const string OUTPUT_FILES = @"C:\Project\Samples\Output\";

        private static SvcResource.ResourceClient resourceClient;
        private static string outFilePath;

        static void Main(string[] args)
        {
            outFilePath = OUTPUT_FILES + "Demo_ReadResource.xml";
            resourceClient = new SvcResource.ResourceClient(ENDPOINT_RESOURCE);

            Guid myUid = resourceClient.GetCurrentUserUid();

            SvcResource.ResourceDataSet resourceDs = resourceClient.ReadResource(myUid);

            // Set cost per use to 1.25 USD.
            double costPerUse = 1.25 * PSLibrary.ValidationConst.s_cost_multiplier;

            if (resourceDs.ResourceRates[0].RES_COST_PER_USE != costPerUse)
            {
                resourceDs.ResourceRates[0].RES_COST_PER_USE = costPerUse;

                if (resourceDs.Resources[0].IsRES_CHECKOUTBYNull())
                {
                    Guid[] resourceUids = { myUid };  // Array of resources to check out.
                    resourceClient.CheckOutResources(resourceUids);
                }
                bool validateOnly = false;
                bool autoCheckIn = true;
                resourceClient.UpdateResources(resourceDs, validateOnly, autoCheckIn);
            }
            resourceClient.Close();
            
            Console.WriteLine("XML output file for ResourceDataSet: {0}", outFilePath);
            resourceDs.WriteXml(outFilePath);
            Console.Write("\nPress any key to exit... ");
            Console.ReadKey(true);
        }
    }
}

Der Demo_UpdateResource geschieht Folgendes:

  1. Initialisiert ein ResourceClient-Objekt mit dem WCF-Endpunkt.

  2. Ruft die GUID der Benutzer der Anwendung mit der GetCurrentUserUid-Methode.

  3. Initialisiert ein ResourceDataSet-Objekt mit der ReadResource-Methode. Die ResourceDataSet enthält eine Zeile in der Tabelle ResourceRates, die über ResourceRates[0] zugegriffen wird.

  4. Legt die Kosten pro Einsatz den Wert auf $1.25 (auf einer US-Englisch-System). RES_COST_PER_USE-Eigenschaft verwendet das s_cost_multiplier-Feld, um den Einstandswert konvertiert.

  5. Bestimmt, ob die Kosten pro Einsatz der Benutzer der Anwendung $1,25 ist. Wenn nicht, legt das Feld RES_COST_PER_USE auf $1.25.

  6. Bestimmt, ob der RES_CHECKOUTBY-Wert null ist; Wenn dies der Fall ist, checken Sie die Ressource.

  7. Aktualisiert die Ressource mithilfe der UpdateResources-Methode.

    HinweisHinweis

    Im SDK Project 2010 zeigt im Abschnitt Hinweise im Thema für jede Methode in der primären Klassen PSI-Dienstleistungen, die Project Server-Berechtigungen erforderlich sind, verwenden Sie die Methode. UpdateResources-Methode verwendet zum Beispiel vier Berechtigungen, einschließlich der ManageUsersAndGroups globale und EditEnterpriseResourceData-Kategorie-Berechtigung. Wenn Benutzer der Anwendung nicht alle erforderlichen Berechtigungen verfügt, schlägt fehl UpdateResources-Methodenaufruf mit einer Ausnahme.

  8. Schließt das ResourceClient-Objekt, mit Garbagecollection zu helfen.

  9. Serialisiert das ResourceDataSet-Objekt in eine XML-Datei für Debugzwecke mithilfe der WriteXml-Methode. Im folgende Beispiel ist Teil der XML-Datei, das aktualisierte RES_COST_PER_USE Feld angezeigt.

    <?xml version="1.0" standalone="yes"?>
    <ResourceDataSet xmlns="http://schemas.microsoft.com/office/project/server/webservices/ResourceDataSet/">
      <Resources>
        <!-- Fields in the Resources table. -->
      </Resources>
      <ResourceCustomFields>
        <!-- Fields in the ResourceCustomFields table. -->
      </ResourceCustomFields>
      <CalendarExceptions>
        <!-- Fields in the CalendarExceptions[0] row.-->
      </CalendarExceptions>
      <CalendarExceptions>
        <!-- Fields in the CalendarExceptions[1] row.-->
      </CalendarExceptions>
      <ResourceRates>
        <RES_UID>efef7161-eb7f-43b0-8936-7247ca393453</RES_UID>
        <RES_RATE_TABLE>0</RES_RATE_TABLE>
        <RES_STD_RATE>12</RES_STD_RATE>
        <RES_OVT_RATE>15</RES_OVT_RATE>
        <RES_COST_PER_USE>125</RES_COST_PER_USE>
      </ResourceRates>
      <ResourceAvailabilities>
        <RES_UID>efef7161-eb7f-43b0-8936-7247ca393453</RES_UID>
        <RES_AVAIL_UNITS>100</RES_AVAIL_UNITS>
      </ResourceAvailabilities>
    </ResourceDataSet>
    

Um die Demo_UpdateResource-Anwendung während der Entwicklung und testing zu debuggen, legen Sie einen Haltepunkt beispielsweise auf die Anweisung, die den Aufruf von UpdateResources enthält. Wenn die Anwendung die Ausführung angehalten wird, bewegen Sie den Mauszeiger über den resourceDs-Parameter, und klicken Sie dann auf kleine Lupensymbol, um das Dialogfeld DataSet-Schnellansicht anzeigen. Wählen Sie in der Dropdownliste TabelleResourceRates (Abbildung 4).

Abbildung 4. Verwenden die DataSet-Schnellansicht während des Debuggens

Debuggen mit 'DataSetVisualizer'

Nachdem die Anwendung vervollständigt, wenn Sie in Project Web App für diesen Benutzer die Seite Benutzer bearbeiten öffnen, zeigt das Textfeld Kosten/Einsatz $1,25.

Viele der Codebeispiele in den Project 2010-SDK verwenden Datasets. Beispielsweise enthält das Thema QueueCreateProject WCF-basierte und ASMX-basierten Codebeispiele, die Datatables in eine leere ProjectDataSet Zeilen hinzu, und erstellen Sie ein Projekt. ProjTool-Testanwendung enthält viele Beispiele, die in der PSI Datasets bearbeiten. Der Quellcode für ProjTool ist in der Project 2010-SDK-Download verfügbar; finden Sie unter Using the ProjTool Test Application in Project Server 2010. Allgemeine Informationen zu Datasets finden Sie unter ADO.NET.

PSI-Methoden, die ein XmlFilter Parameter verwenden

Acht PSI-Methoden zum Lesen von Daten verwenden Sie ein XML-String-Filter-Objekt in ein xmlFilter-Parameter, der Datenmenge beschränken kann, die die Methode in einer DataSet zurückgibt. Die Filtermethoden umfassen ReadCalendars, ReadCustomFields, ReadCustomFields2, ReadLookupTables, ReadLookupTablesMultiLang, ReadResources, ReadResourceAssignments und ReadResourcePlan. In den meisten Fällen wenn der xmlFilter-Parameter eine leere Zeichenfolge ist gibt die Methode alle verfügbaren Daten darauf; eine Ausnahme ist der ReadResourceAssignments-Methode, die eine nicht leere Zeichenfolge erfordert, da viele Tausende von Zuordnungen werden kann.

Beispielsweise erstellt die GetLookupTableFilter-Methode in den folgenden Code einen XML-Filter, der Grenzen der LookupTableDataSet auf die LookupTableTrees-Tabelle mit den Spalten LT_UID, LT_STRUCT_UID und LT_VALUE_FULL enthalten. GetRbsValue-Methode ruft die ReadLookupTables-Methode, und anschließend durchlaufen, in der Tabelle Gefilterte LookupTableTrees, um den vollen Wert des benutzerdefinierten Feldes RSP zu finden, die durch die lutValueUid-Parameter angegeben wird.

using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
private string GetRbsValue(Guid lutValueUid)
{
    string rbsValue = string.Empty;
    // Don't use a known LCID when ReadLookupTables uses a non-empty filterXml parameter.
    int noLcid = 0; 
    PSLibrary.Filter lutFilter = GetLookupTableFilter();
    string lutFilterXml = lutFilter.GetXml();

    SvcLookupTable.LookupTableDataSet lutDs =
        lookupTableClient.ReadLookupTables(lutFilterXml, false, noLcid);

    for (int i = 0; i < lutDs.LookupTableTrees.Count; i++)
    {
        if (lutDs.LookupTableTrees[i].LT_STRUCT_UID == lutValueUid)
        {
            rbsValue = lutDs.LookupTableTrees[i].LT_VALUE_FULL;
            break;
        }
    }
    return rbsValue;
}

// Create a filter for the ReadLookupTables method.
private PSLibrary.Filter GetLookupTableFilter()
{
    // Create an empty LookupTableDataSet, to get the table and column names.
    SvcLookupTable.LookupTableDataSet lutDs = new SvcLookupTable.LookupTableDataSet();

    string lutTableName = lutDs.LookupTableTrees.TableName;
    string lutUidColumn = lutDs.LookupTableTrees.LT_UIDColumn.ColumnName;
    string lutStructUidColumn = lutDs.LookupTableTrees.LT_STRUCT_UIDColumn.ColumnName;
    string lutFullValueColumn = lutDs.LookupTableTrees.LT_VALUE_FULLColumn.ColumnName;

    // Get the GUID for the built-in RBS lookup table.
    Guid lutRbsUid = PSLibrary.LookupTables.RBS_LT_UID;  

    PSLibrary.Filter lutFilter = new PSLibrary.Filter();

    lutFilter.FilterTableName = lutTableName;
    lutFilter.Fields.Add(new PSLibrary.Filter.Field(lutUidColumn));
    lutFilter.Fields.Add(new PSLibrary.Filter.Field(lutStructUidColumn));
    lutFilter.Fields.Add(new PSLibrary.Filter.Field(lutFullValueColumn));

    PSLibrary.Filter.FieldOperationType equal = PSLibrary.Filter.FieldOperationType.Equal;
    lutFilter.Criteria = new PSLibrary.Filter.FieldOperator(equal, lutUidColumn,
        lutRbsUid.ToString());

    return lutFilter;
}

Die komplette Lösung für die Visual Studio ist der ReadRBS Probe in den Project 2010 SDK downloaden. Weitere Informationen über die Verwendung der xmlFilter-Parameter finden Sie unter How to: Use a Filter Parameter with PSI Methods in Project 2007-SDK.

Identitätswechsel und Erweiterungen für die PSI

Einen Benutzer in einer Project Server-Anwendung imitiert wird nicht so häufig in Project Server 2010 verwendet wie in Office Project Server 2007. Z. B. die Methoden ReadStatusForResource und SubmitStatusForResource erfordern Identitätswechsel und ersetzen die Methoden ReadStatus und SubmitStatus. Project Server 2010 verfügt über zusätzliche Einschränkungen und weitere administrativen Einstellungen erfordert. Weitere Informationen und ein Codebeispiel finden Sie unter How to: Use Impersonation with WCF.

Sie können die PSI mit zusätzlichen Services erweitern. Methoden in benutzerdefinierten PSI-Services können andere PSI-Methoden, z. B. Benutzerautorisierung überprüfen, verwenden Sie Identitätswechsel für bestimmte Aufträge, konsolidieren mehrere PSI-Aufrufe auf dem Server, den Netzwerkverkehr zu speichern oder Hinzufügen neuer Funktionen zu Project Server aufrufen. Ein einfaches WCF-basierte Beispiel mit dem Namen HelloService, die auch die ReadResource PSI-Methode aufruft, finden Sie unter Creating a PSI Extension for Project Server 2010. Die PSI-Erweiterung ist in der Front-End-Project Web App-Anwendung installiert; die URL ist z. B. http://ServerName/ProjectServerName/_vti_bin/PSI/HelloService.svc?wsdl.

Die PSI-Erweiterung im Artikel How to: Create a PSI Extension to Read Custom Fields in the RDB verwendet eine gespeicherte Prozedur in der Berichtsdatenbank zum Auffinden aller Projekte, die einen Wert für die angegebene benutzerdefinierte Feld haben. Die Visual Studio-Komplettlösungen für die PSI-Erweiterung-Beispiele sind in der Project 2010 SDK downloaden.

Verwenden Windows PowerShell mit den PSI

Windows PowerShell Skripts werden häufig verwendet, um mit Verwaltungsaufgaben für Project Server 2010 und SharePoint Server 2010 helfen. Verwenden Sie Windows PowerShell mit ASMX-Schnittstelle PSI-Methoden aufrufen. Verwenden Sie im folgenden Beispiel den tatsächlichen Namen des Computers, nicht localhost. Ist eine Project Web App-Instanz mit dem Namen PWA am 5050-Port des Computers MyServer , ändern Sie den Wert $pwaUrl, $pwaUrl = "http://MyServer:5050/pwa".

HinweisHinweis

Die SharePoint 2010-Management Shell (im Ordner Microsoft SharePoint 2010-Produkte im Anfang ) als Administrator ausführen. Bei jedem Ausführen des folgenden Skripts erfordert der Get-Credential-Befehl (bekannt als Cmdlet in Windows PowerShell) in Ihrer Domäne, Benutzername und Kennwort eingeben.

############################################################################
## Get-RegularProjectList
##
## Uses the PSI to get a ProjectDataSet.Project table that includes 
## regular projects (not templates or proposals).
##
## The script user must have Project Server administrator permissions for the 
## ReadProjectList method.
##
## To run on your Project Server computer, change the $pwaUrl value.
#############################################################################
 
$pwaUrl = "http://ServerName/ProjectServerName"
$svcProjectUrl = $pwaUrl + "/_vti_bin/PSI/Project.asmx?wsdl"

$c = Get-Credential

# Create a proxy for the Project web service, from the ASMX interface.
$svcProjectProxy = New-WebServiceProxy -uri $svcProjectUrl -credential $c

$svcProjectProxy.ReadProjectList().Project | Where-Object { $_.PROJ_TYPE -eq 0 } `
    | Out-GridView –title "List of Regular Projects"

Im vorangehenden Code gibt die ReadProjectList-Methode eine ProjectDataSet mit Werten für die folgenden Felder in der Tabelle Project: PROJ_UID, PROJ_NAME, und PROJ_TYPE. Abbildung 5 zeigt die Ausgabe in der Rasteransicht, die mit dem Out-GridView-Cmdlet erstellt wird (die als ogv abgekürzt) in Windows PowerShell. Sie können Werte in der Rasteransicht filtern.

Abbildung 5. Filtern von Werten in der Rasteransicht der Ausgabe von Windows PowerShell

Verwenden der Rasteransicht in Windows PowerShell

Das Project 2010-SDK enthält verschiedene Themen, die zeigen, wie Windows PowerShell für administrative Aufgaben wie die Bereitstellung von benutzerdefinierten Lösungen verwenden. Zum Beispiel finden Sie unter How to: Deploy a Project Server Workflow und How to: Modify the Ribbon in PWA. Siehe auch das Beispiel Verwaltungsskript in SetDatabaseTimeout. TechNet enthält Verweise für Windows PowerShell-Cmdlets für SharePoint und Project Server; finden Sie unter Windows PowerShell für Project Server 2010.

Obwohl das vorangehende Codebeispiel zeigt, dass Sie leicht Skripts mit vorhandenen Windows PowerShell-Cmdlets, die Zugriff auf die PSI verwenden können, Project Server-Daten zu lesen, gibt es mehrere Einschränkungen. Neben jedem in Ihre Anmeldeinformationen eingeben, enthalten die Einschränkungen die Schwierigkeiten bei der Verwendung von Skripts auf Remotecomputern, Komplexität der Skripts für Aufträge, die erstellen oder Aktualisieren von Project Server-Entitäten oder erfordern mehr als einen PSI-Dienst mithilfe von hartcodierten Werten anstelle von Enumerationen und Felder in der Microsoft.Office.Project.Server.Library-Namespace, umständlich zu debuggen und keine IntelliSense. Benötigen Sie weitere Windows PowerShell Funktionen, ist eine bessere Lösung benutzerdefinierten Cmdlets erstellen, die über die WCF-Schnittstelle die PSI zugreifen. Weitere Informationen finden Sie in der MSDN Code Gallery herunterladen in Microsoft Project 2010: Powershell-Cmdlets für Project Server-PSI.

Jede Geschäftseinheit Project Server 2010 (z. B. Projekt, Vorgang, Zuweisung, benutzerdefiniertes Feld und Arbeitszeittabelle) umfasst Ereignisse. Projektserver implementiert mehr als 220 Ereignisse, einschließlich Pre und Post-Event-Typen. Vorherige Ereignisse auftreten, bevor Sie Project Server Daten in der Datenbank speichert. Ein Ereignishandler für ein Pre-Event kann den Vorgang abbrechen und synchron ist. Eine Anwendung, die eine Pre-Event verwendet, kann nicht also fortgesetzt, bis der Ereignishandler beendet ist. Ereignishandlermethoden können nicht abgebrochen werden (die Daten werden bereits gespeichert), und kann asynchron oder synchron sein. Anwendungen können Ereignisse wie das Pre-Project Publishing Event oder die Project Published späteres Ereignis abonnieren und führen Sie eine oder mehrere zugeordneten Ereignishandler. Wenn Sie einen Ereignishandler in Project Web App registrieren, können Sie die Reihenfolge angeben, in der Project Server für ein Ereignis mehrere Ereignishandler ausgeführt wird.

Vorherige Ereignisse ermöglichen Entwicklern, Einschränkungen, benutzerdefinierte Gültigkeitsprüfung oder Business Regelüberprüfung hinzufügen. Beispielsweise erfordern eine corporate Project Management Office (PMO), dass alle Enterprise-Projekt benutzerdefinierte Textfelder für bestimmte Projekte eine zwei-Buchstaben-Präfix aufweisen. Ein CustomField Changing-Pre-event-Handler konnte die Geschäftsregel implementieren.

Ereignishandlermethoden sind die wichtigste Methode zur Integration von Project Server mit LOB-Anwendung, wie z. B. einem Buchhaltungssystem. Es gibt z. B. 14 TimeSheet-Ereignisse, einschließlich Submitting, Submitted, Recalling und Recalled. Die Submitting und Recalling werden vorherige Ereignisse. Sie können Erstellen von Ereignishandlern, die Geschäftsregeln Ihres Unternehmens zu überprüfen, bevor eine Arbeitszeittabelle an die Datenbank gesendet wird und die Übermittlung abbrechen, wenn die Regeln nicht erfüllt sind. Die Ereignisse Submitted und Recalled sind spätere Ereignisse. Nachdem ein Projektmanager Arbeitszeittabellendaten übermittelt hat, konnte ein Timesheet Submitted-Post-event-Handler die wöchentlichen Daten an einem Buchhaltungssystem senden.

Wenn Sie eine Klasse für ein Project Server-Ereignishandler erstellen, erbt es von einer Basisklasse Ereignisempfängerklasse in der Microsoft.Office.Project.Server.Events.dll-Assembly. Ereignisempfängerklassen gehören ProjectEventReceiver, CustomFieldsEventReceiver und So weiter. Sie können eine oder mehrere Ereignishandlermethoden in eine Event-Handler-Klasse erstellen. Jedes Ereignis-Handler-Methode überschreibt die Methode die Basisklasse. Beispielsweise kann eine CustomFieldsEvents-Klasse die Methoden OnCreating und OnCreated enthalten. Der folgende Code enthält zwei Ereignisempfängerklassen mit mehreren Ereignishandlern.

using System;
using System.Diagnostics;
using System.Data;
using System.Xml;
using Microsoft.Office.Project.Server.Events;
using PSLibrary = Microsoft.Office.Project.Server.Library;

namespace TestEventHandlers
{
    public class ProjectEvents : ProjectEventReceiver
    {
        public override void OnPublishing(
            PSLibrary.PSContextInfo contextInfo, 
            ProjectPrePublishEventArgs e)
        {
            . . .
        }
    }
    public class CustomFieldsEvents : CustomFieldsEventReceiver
    {
        public override void OnCreating(
            PSLibrary.PSContextInfo contextInfo, 
            CustomFieldsPreEventArgs e)
        {
            . . .
        }

        public override void OnCreated(
            PSLibrary.PSContextInfo contextInfo, 
            CustomFieldsPostEventArgs e)
        {
            . . .
        }
    }
}

Ereignishandlermethoden umfassen Kontextinformationen wie den Benutzernamen und GUID, Sprache und Project Web App Site GUID. Der Pre-e-Parameter (die Ereignisargumente) enthält die Cancel-Eigenschaft zusammen mit anderen Informationen über die Entität oder Ereignis. Beispielsweise enthält die ProjectPrePublishEventArgs für das Projekt OnPublishing-Ereignishandler den Projektnamen, GUID und die URL der SharePoint-Site für die Projektsite. Der Ereignisparameter Argumente für ein späteres Ereignis schließt nicht die Cancel-Eigenschaft.

Eine Liste aller Project Server-Ereignisse für PSI-Anwendungen finden Sie unter PSEventID in der Referenz für verwalteten Code für die PSI. Ein Beispiel OnCreating-Ereignishandler für das Pre-ProjectCreating Event finden Sie unter How to: Create a Project Server Event Handler and Log an Event.

Verwenden von Datasets in Ereignishandlern

Viele Project Server-Ereignisse beziehen sich direkt auf die PSI-Methoden; QueueCreateProject-Methode löst z. B. die Pre-Creating Event und Created-Post. Ereignis-Arguments-Parameter (e) in einem Pre-event-Handler oder einen POST-event-Handler kann eine DataSet für die Entität einschließen, wenn die zugehörige PSI-Methode ein DataSet-Objekt verwendet. Beispielsweise enthält der Ereignisparameter Argumente für den OnCreated-Ereignishandler von der POST CustomFieldsCreatedCustomFieldsPostEventArgs.CustomFieldInformation des Typs CustomFieldDataSet.

HinweisHinweis

Um ein DataSet-Objekt in einem Ereignishandler zu verwenden, müssen Sie einen Verweis auf die Assembly Microsoft.Office.Project.Schema.dll festlegen. Der Microsoft.Office.Project.Server.Schema-Namespace enthält die erforderlichen Klassendefinitionen wie z. B. CustomFieldDataSet.

Sie können die Ereignisschema-Assembly aus dem Verzeichnis [Windows]\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\14.0.0.0__71e9bce111e9429c mit dem folgenden Befehl kopieren. Führen Sie Fenster das Eingabeaufforderung als Administrator aus, und ändern Sie den Platzhalter [Windows] auf Ihrem Computer übereinstimmen.

set SCHEMA= [Windows]\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\14.0.0.0__71e9bce111e9429c
xcopy /y %SCHEMA%\*.dll .

Der folgende Code zeigt einen einfachen Post-event-Handler, der CustomFieldInformation in das Ereignisargument für das benutzerdefinierte Feld Created-Ereignis verwendet. Sie konnte den Namen des benutzerdefinierten Feldes, z. B. mit der string cfName = customFieldDs.CustomFields[0].MD_PROP_NAME Anweisung abrufen, in denen der Typ Microsoft.Office.Project.Server.Schema.CustomFieldDataSet ist customFieldDs. CustomFields ist ein CustomFieldsDataTable Objekt, das in e.CustomFieldInformation – die selbst ist vom Typ CustomFieldDataSet. Die benutzerdefinierten Felder-Tabelle hat nur eine Zeile (CustomFields[0]), die Daten für das gerade erstellte benutzerdefinierte Feld enthält. Eine Liste der Eigenschaften in einem benutzerdefinierten Feld Zeile finden Sie unter CustomFieldDataSet.CustomFieldsRow.

using System;
using System.Diagnostics;
using Microsoft.Office.Project.Server.Events;
using PSLibrary = Microsoft.Office.Project.Server.Library;
using PSSchema = Microsoft.Office.Project.Server.Schema;

namespace TestCreatedCustomField
{
    public class WriteCustomFieldCreatedEvent : CustomFieldsEventReceiver
    {
        public override void OnCreated(
            PSLibrary.PSContextInfo contextInfo,
            CustomFieldsPostEventArgs e)
        {
            // Create an event log instance and assign its source.
            EventLog myLog = new EventLog();
            myLog.Source = "Custom Field OnCreated Event Handler";

            // Get information from the event arguments. 
            string userName = contextInfo.UserName.ToString();

            PSSchema.CustomFieldDataSet customFieldDs = e.CustomFieldInformation;

            string cfName = customFieldDs.CustomFields[0].MD_PROP_NAME;
            byte cfTypeEnum = customFieldDs.CustomFields[0].MD_PROP_TYPE_ENUM;
            Guid cfUid = customFieldDs.CustomFields[0].MD_PROP_UID;

            string[] cfTypes = Enum.GetNames(typeof(PSLibrary.CustomField.Type));

            string cfType = "";
            int index = 0;

            // Find the name of the custom field type.
            foreach (int i in Enum.GetValues(typeof(PSLibrary.CustomField.Type)))
            {
                if (i == Convert.ToInt32(cfTypeEnum))
                {
                    cfType = cfTypes[index];
                    break;
                }
                index++;
            }

            // Write an entry to the Application event log.
            int eventId = 3652;  // Create an arbitrary event ID.
            string logEntry;

            logEntry = "User: " + userName +
                "\nCustom Field Name: " + cfName +
                "\nGUID: " + cfUid.ToString() +
                "\nType: " + cfType +
                "\nThe custom field has been created.";

            myLog.WriteEntry(logEntry, EventLogEntryType.Information, eventId);
        }
    }
}

Wenn Sie kompilieren und installieren den Ereignishandler, den Ereignishandler in Project Web App registrieren und erstellen Sie ein benutzerdefiniertes Feld der Ressource mit dem Namen Test Res Dauer des Typs Duration sehen Sie das Application-Ereignis in der Ereignisanzeige für den Project Server-Computer (Abbildung 6). Die komplette Visual Studio-Lösung für das TestCreatedCustomField-Beispiel, einschließlich der Skripts für Referenzen kopieren und installieren den Ereignishandler wird im Verzeichnis Samples\EventHandlers\TestCreatedCustomField in der Project 2010 SDK downloaden.

Abbildung 6. Verwenden der Ereignisanzeige zum Anzeigen von Eigenschaften in einem Ereignishandler

Verwenden der Ereignisanzeige mit einem Ereignishandler

Datasets in Ereignishandlern werden schreibgeschützt verwendet. Beispielsweise können Sie die CustomFieldDataSet so ändern den Namen eines benutzerdefinierten Felds innerhalb der OnCreating-Pre-event-Handler nicht ändern. Allerdings können Sie das Ereignis auffangen, rufen Sie die Eigenschaften, die Sie benötigen die Erstellung des benutzerdefinierten Felds abbrechen, den WCF-Endpunkt für den Dienst CustomFields programmgesteuert konfigurieren und verwenden Sie die CreateCustomFields-Methode in der CustomFields-Webdienst erstellen Sie ein benutzerdefiniertes Feld mit dem richtigen Namen.

Allgemeine Informationen finden Sie unter Project Server Events in Project 2007-SDK. Ein Beispiel, die Anweisungen zum Registrieren von Ereignishandlern und Schreiben in die ULS-Protokoll enthält, finden Sie unter How to: Create a Project Server Event Handler and Log an Event. Weitere Beispiele finden Sie unter How to: Customize E-Mail for Project Server Notifications, die einen OnSending-Ereignishandler für e-Mail-Benachrichtigungen verwendet wird; und finden Sie unter Project Server 2010 Delegation Audit-Ereignishandler, die OnActivated und OnDeactivated-Ereignishandler für die Benutzer-Delegierung verwendet.

Desktop-Clients Project Professional 2010 und Project Standard 2010 enthalten das Feature für grafische Berichte, das Microsoft Visio 2010 und Microsoft Office Excel 2007 oder Excel 2010 verwenden können. Mit grafische Berichte können Sie grafische Berichte und PivotTable-Berichte von lokalen Projektdateien erstellen. Auf der Serverseite ist die Plattform für EPM reporting ein wichtiges Upgrade in Project Server 2010, die das Framework für Microsoft Business Intelligence (BI) unterstützt. Die Business Intelligence Center of SharePoint Server 2010 wird angepasst und in Project Web App integriert. Business Intelligence Center dient zum aktuellen und relevanten Business Insight allen Mitarbeitern ermöglichen, die auf Project Web App zugreifen.

Die reporting-Infrastruktur in Project Server enthält die Berichtsdatenbank (RDB), Bericht Data Service (RDS) und den Cube Build Service (CBS). Suchen Sie weitere Informationen für Grafische Berichte oder Berichte in der Projekt-Team-Blog (http://blogs.msdn.com/b/project//) und anderen Project-Blogs, Endbenutzerdokumentation für Projekt und TechNet. Siehe z. B. Business Intelligence in Project Server 2010, Projekt 2010: Übersicht über Business Intelligence, und Reporting on projects (Project Server 2010). Im Project 2010-SDK finden Sie unter Cube Build Service und Custom Fields and the Reporting Database.

Einstieg in Project Server-Berichterstellung finden Sie unter reporting Videos auf der Seite Zug & Learn für Project 2010.

Berichtsdatenbank und Bericht-Datendienst

Die standardmäßige Reporting-Datenbank (RDB) Tabellen und Ansichten dienen zum Generieren von Berichten aus Project-Daten schreibgeschützt sein. Der Project Server 2010 Reporting-Datenbankschema-Verweis ist in der Project 2010 SDK downloaden. Das RDB-Schema umfasst drei Kernkomponenten:

  • CAD-Daten (z. B. Projekte, Aufgaben, Ressourcen, Zuordnungen und benutzerdefinierte Felder)

  • Arbeitszeittabellen-Daten

  • Collaboration-Daten (Probleme, Risiken und Lieferbestandteile auf Project-Sites)

Report Data Service (RDS) aktualisiert die RDB nahezu in Echtzeit (innerhalb weniger Minuten) von Änderungen in der Datenbank veröffentlicht. Die RDB-Tabellen sind denormalisierte relativ zum Erstellen von Berichten mithilfe des Microsoft SQL Server Reporting Services (SSRS) erleichtern.

RDS Aktualisierungen an der RDB mit einer Warteschlange verarbeitet und Multithread-Update-Operationen von mehreren Servern verwalten kann. Benutzer können geänderte Daten in Project Web App wahrscheinlich sehen, bevor es in einem Bericht aus der RDB eingeht. RDS umfasst Ereignishandlermethoden für Datenaktualisierungen, damit Sie die reporting-Cache und Update-Berichte verwalten können, nachdem die erforderlichen Daten vorhanden sind.

Ansichten in der Berichtsdatenbank enthalten, die für OLAP und Ansichten für Benutzer, die Erstellen von Berichten direkt aus der RDB; Beispielsweise ist die Ressourcendaten in MSP_EpmResource_OlapView und MSP_EpmResource_UserView verfügbar. OLAP-Ansichten sind für die Verwendung von Cube Build-Dienst zum Generieren von OLAP-Cubes entworfen. Die Benutzeransichten im Allgemeinen enthalten mehr Felder als die OLAP-Ansichten und dienen zum Erstellen von Berichten. Beispiele für Abfragen in der Project Server Report Pack verwenden, Tabellen und Benutzeransichten für. Office Project 2007-SDK-download enthält das Bericht-Pack mit sieben SSRS-Beispielberichte. Der MSDN Code Gallery enthält ein Update des Report Packs; finden Sie unter II von Project Server 2007 Bericht Pack – "The Top-Berichte".

Hinweis Hinweis

Einige Beispiele für Office Project Server 2007 Report Pack verlassen sich auf bestimmte benutzerdefinierte Felder und Nachschlagetabellen, die für die Demonstration virtuelle Maschine erstellt wurden, die in 2007 ausgeliefert wurde. Einige Beispiele für Report Pack verwenden Project Server-Features, die veraltete oder nicht in Project Server 2010 verwendet werden. Bericht Pack Proben können als Ausgangspunkt zum Erstellen neuer Berichte in Project Server 2010.

Hinzufügen von Tabellen und Ansichten auf der Berichtsdatenbank, die externe Daten enthalten und RDS zum Verwalten von Updates für benutzerdefinierte Tabellen und Ansichten verwenden. Das MSDN Code Gallery-Beispiel in Project Server 2010 Delegation Audit-Ereignishandler beispielsweise erstellt in der RDB eine PS2010_UserDelegationAudit-Tabelle.

Cube-Build-Dienst

Cube Build Service (CBS) erstellt mehrerer OLAP-Cubes aus Project Server und verwandte SharePoint-Daten. Project Web AppSQL Server Analysis Services-Cubes verwalten hilft, unterstützt die Anpassung der Cubes und verfügt über einen zentralen Ort für Reporting Services-Berichte, die die OLAP-Cubes oder der Berichtsdatenbank verwenden. Sie können benutzerdefinierte Enterprise-Felder als neue Dimensionen oder Measures hinzufügen, und die Cubes, alle durch Project Web App berechnete Measures hinzufügen.

Zusätzlich zur Administration in Project Web App hat die CBS umfassende Ereignis- und Protokollierung der Ablaufverfolgung für den ULS-Protokollen. Der PSI-CubeAdmin-Webdienst ermöglicht die programmgesteuerte Verwaltung und Planung der Cubeerstellung. Die OLAP-Datenbank für Project Server 2010 enthält 14 Standard-Cubes, die in Cube Build Service beschrieben werden.

Sie können die Standardeinstellung OLAP-Cubes erstellen, mithilfe von inkrementelle Datenänderungen größer Häufigkeit und kürzere Dauer der Updates aktivieren. Sichten der Cubedaten werden in Dashboards und Webparts verfügbar. Sie können zusätzliche Ansichten und benutzerdefinierten Webparts, die Project Server und externe Daten kombinieren erstellen. Beispielsweise können Sie mit PivotTable-Berichte und bedingte Formatierung Excel 2010; und Sie können die Excel-Arbeitsmappen oder Kalkulationstabellen in Excel Services für dünne Rendering auf SharePoint-Website veröffentlichen.

Die Business Intelligence Center-Seite in Project Web App hat umfangreiche Collaboration-Funktionen. Teammitglieder können leicht Key Performance Indicators (KPIs) erstellen, die Datentrends zu überwachen und Excel-Arbeitsmappen, die Daten über grafische Berichte enthalten, durch Veröffentlichen an SharePoint über Excel Services anzeigen. Administratoren oder Entwickler können Scorecard-Elemente, Ansichten und Rollen erstellen, Veröffentlichen von Aktualisierungen von Project Server-Daten zu PerformancePoint Services in Microsoft SharePoint Server 2010 und PerformancePoint im Business Intelligence Center Inhalt anzeigen.

Ein Beispiel, das zeigt, wie Sie den Portfolio-Analysierer-Cube erweitern, finden Sie unter How to: Calculate Resource Availability in OLAP Cubes. Informationen zum Hinzufügen von benutzerdefinierten Felder als Dimensionen oder Measures in Cubes finden Sie unter Custom Fields and OLAP Cubes.

Beim Entwickeln von Lösungen für Project Server können Sie zwei Hauptbereiche für Konfiguration und Laufzeit-Fehler: Ereignisprotokoll der Anwendung und dem (Unified Logging Service ULS) Protokolle der Ablaufverfolgung. Sie sollten auch try-catch-Blöcke für Code verwenden, die PSI-Methoden aufruft. Weitere Informationen über Fehler und Beispielcode für die Behandlung von Ausnahmen für WCF und ASMX-basierten Anwendungen finden Sie unter Project Server Error Codes.

Anwendungsereignisprotokoll   Im Menü Anfang auf dem Project Server-Computer klicken Sie auf Ausführen, und geben Sie Eventvwrein. Klicken Sie im linken Fenster Ereignisanzeige erweitern Sie den Knoten Windows-Protokolle , und klicken Sie dann auf Anwendung , die von Project Server, SharePoint, ASP protokollierten Ereignisse finden Sie unter.NET, SQL Server, benutzerdefinierte Ereignishandler und anderen Anwendungen (siehe Abbildung 6). Wenn Sie die Ereignisse nach Quelle sortieren, finden Sie problemlos die Project Server-Ereignisse. Quellen gehören ProjectQueueService14 und ProjectEventService14.

ULS-Protokolle   Die ULS-Ablaufverfolgungsprotokollen und Ereignisprotokolle können mehr Details als Ereignisprotokoll der Anwendung bereitstellen. Sie können ein Protokoll der Ablaufverfolgung ULS Datensatz bestimmte Kategorien oder alle Kategorien und Ebenen der Aktivitäten in Project Server und SharePoint konfigurieren. Zum Anzeigen der Protokolle der Ablaufverfolgung können Sie Editor, einen anderen Text-Editor oder Microsoft Excel. Leicht lesen und überwachen das ULS-Protokoll, um filter für Ereignisse, und speichern Sie die ULS-Protokoll-Beispiele, können Sie herunterladen und installieren die ULS-Viewer vom MSDN Code Gallery. ULS-Viewer ist eine nicht unterstützte Anwendung. Ein Beispiel, das zeigt, wie Sie die ULS-Viewer verwenden, finden Sie unter How to: Create a Project Server Event Handler and Log an Event.

So konfigurieren Sie die ULS-Protokolle und andere Zeitgeberaufträge für Project Server

  1. Öffnen Sie die SharePoint-Zentraladministration 2010-Anwendung, klicken Sie auf Überwachungund klicken Sie dann auf Auftragsdefinitionen überprüfen im Abschnitt Zeitgeberaufträge Seite Überwachung.

  2. Klicken Sie auf Diagnostic Data Provider: Ablaufverfolgungsprotokoll, und legen Sie dann auf der Seite Zeitgeberauftrag bearbeiten der Timer-Job, alle 10 Minuten ausgeführt. Ebenso können Sie die Diagnostic Data Provider: Event Log. Sie können fünf zusätzliche Diagnose Datenanbieter Zeitgeberaufträge, z. B. festlegen, für Leistungsindikatoren und SQL-Abfragen, die auf SharePoint-Anwendungen beziehen.

  3. Project Server-Dienst-Anwendung hat außerdem vier Einstellungen, die Sie konfigurieren können, auf der Seite Auftragsdefinitionen, die steuern, wie oft der SharePoint-Timerdienst die anderen Einzelvorgänge für Project Web App ausgeführt wird.

  4. Klicken Sie auf der Seite Überwachung in der Zentraladministration von SharePoint 2010 auf Diagnoseprotokollierung konfigurieren , im Abschnitt Berichte . Auf der Seite Diagnoseprotokollierung erweitern Sie die Project Server -Kategorie, und wählen Sie dann eine bestimmte Kategorie, z. B. Serverseitige Ereignisse. Wenn Sie den Top- Project Server -Knoten auswählen, werden alle 39 Project Server-Kategorien protokolliert.

  5. Wählen Sie für die meisten Informationen für den Bericht in das Ereignisprotokoll und im Ablaufverfolgungsprotokoll aufzuzeichnendes Ereignis Ausführlich . Da das Ereignisprotokoll und das Ablaufverfolgungsprotokoll groß sein können, führen Sie ausführliche Protokollierung nur bei Bedarf.

    Vorsicht Vorsicht

    Wählen Sie nur bestimmte Kategorien, die Größe des Protokolls überschaubar zu halten, wenn Sie bei der Protokollierung von Ereignissen auf einem Produktionsserver. Um alle Protokollierung deaktivieren möchten, wählen Sie Keine für die aufzuzeichnendes Ereignis in jedem Protokoll. Um relativ wenige Ereignisse aufzuzeichnen, wählen Sie Hoch oder Überwachbar für das Ablaufverfolgungsprotokoll. Der Unerwartet zeigt im Allgemeinen Anwendungsausnahmen. Wählen Sie für das Ereignisprotokoll Fehler oder Kritisch weniger Ereignisse zu protokollieren.

    Die Ereignisprotokoll-Flutschutz aktivieren -Einstellung ist standardmäßig aktiviert. Der Standardpfad für die Protokolle der Ablaufverfolgung ist %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\14\LOGS. Wenn Sie die ULS-Viewer verwenden, können Sie Protokolle der Ablaufverfolgung in den Standardpfad zu öffnen oder einen anderen Pfad festlegen.

  6. Legen Sie die maximale Anzahl von Tagen Ablaufverfolgungs-Protokolldateien zu speichern; Der Standardwert beträgt 14 Tage. Sie können auch Speicherplatz für das Ablaufverfolgungsprotokoll einschränken.

Die ULS erstellt eine neuen Ablaufverfolgungs-Protokolldatei alle 30 Minuten. Ablaufverfolgungs-Protokolldateien umfassen das Datum und die Uhrzeit im Dateinamen, z. B. SERVERNAME-20110208-1326.log.

Project Server 2010 ist eine Plattform, basierend auf den neuesten Programmierung und Software Collaboration-Frameworks – die.NET Framework und SharePoint Server – die Grundlage für Microsoft Project und anderen Microsoft-Software-Programme seit vielen Jahren kommen werden. Die Project Server-Plattform erleichtert die Erweiterungen entwickeln und mit einer Vielzahl anderer Anwendungen zu integrieren.

Die Project Server Interface (PSI) und verwandte Datensätze erübrigt es sich, die drei wichtigsten Project Server-Datenbanken (Entwurf, veröffentlicht und Archivierung) direkt zugreifen. Project Server-Ereignisse sind der Schlüssel zum Erweitern von Project Server und Integration mit LOB-Anwendungen. Ereignishandler können Workflows starten Workflows können PSI-Aufrufe vornehmen und andere Ereignishandler können Nachrichten an Projekt-Detail-Webseiten in Workflows senden.

Project Server-Berichte und OLAP-Cubes sind Teil der extensible Projekt-Plattform und bieten Kunden und Partnern viele Möglichkeiten, Projektmanagement, Kommunikation und geschäftliche Entscheidungen in Organisationen zu verbessern.

Hinweis Hinweis

Haftungsausschluss für maschinelle Übersetzungen: Dieser Artikel wurde mithilfe eines Computersystems und ohne jegliche Bearbeitung durch Personen übersetzt. Microsoft bietet solche maschinellen Übersetzungen als Hilfestellung für Benutzer ohne Englischkenntnisse an, damit Sie von den Informationen zu Produkten, Diensten und Technologien von Microsoft profitieren können. Da es sich bei diesem Artikel um eine maschinelle Übersetzung handelt, enthält er möglicherweise Fehler in Bezug auf (Fach-)Terminologie, Syntax und/oder Grammatik.

Anzeigen: