Contact Manager-Lösung

von Jason Lee

In dieser Reihe von Tutorials wird eine Beispiellösung – die Contact Manager-Lösung – verwendet, um eine Anwendung auf Unternehmensniveau mit einem realistischen Maß an Komplexität darzustellen. In diesem Thema wird die Contact Manager-Lösung vorgestellt, die wichtigsten Komponenten der Lösung beschrieben und die Herausforderungen bei der Bereitstellung dieser Art von Anwendung auf verschiedenen Zielplattformen in einer Unternehmensumgebung beschrieben.

Während Sie die Themen in diesen Tutorials durcharbeiten, können Sie die Contact Manager-Lösung als Referenzimplementierung verwenden, die veranschaulicht, wie Sie bestimmte Herausforderungen in Unternehmensbereitstellungsszenarien bewältigen können. Im nächsten Thema, Einrichten der Contact Manager-Lösung, wird beschrieben, wie Sie die Lösung herunterladen und auf Ihrer Entwicklerarbeitsstation ausführen.

Übersicht über die Lösungen

Die Contact Manager-Projektmappe besteht aus vier einzelnen Projekten:

Die Contact Manager-Projektmappe besteht aus vier einzelnen Projekten.

  • ContactManager.Mvc. Dies ist ein ASP.NET MVC 3-Webanwendungsprojekt, das den Einstiegspunkt für die Projektmappe darstellt. Es bietet einige grundlegende Webanwendungsfunktionen, z. B. die Möglichkeit, Dass Benutzer Kontaktdetails erstellen und anzeigen können. Die Anwendung basiert auf einem Windows Communication Foundation-Dienst (WCF) zum Verwalten von Kontakten und einer ASP.NET Anwendungsdienstdatenbank zum Verwalten der Authentifizierung und Autorisierung.
  • ContactManager.Database. Dies ist ein Visual Studio-Datenbankprojekt. Das Projekt definiert das Schema für eine Datenbank, in der Kontaktdetails gespeichert werden.
  • ContactManager.Service. Dies ist ein WCF-Webdienstprojekt. Der WCF-Dienst macht einen Endpunkt verfügbar, mit dem Aufrufer CRUD-Vorgänge (Erstellen, Abrufen, Aktualisieren und Löschen) für die ContactManager-Datenbank ausführen können. Der Dienst basiert auf der ContactManager-Datenbank und der ContactManager.Common.dll assembly.
  • ContactManager.Common. Dies ist ein Klassenbibliotheksprojekt. Der WCF-Dienst basiert auf Typen, die in dieser Assembly definiert sind.

Die Lösung enthält auch einen Lösungsordner namens Publish. Dies enthält verschiedene benutzerdefinierte Projektdateien und Befehlsdateien, die veranschaulichen, wie Sie den Build- und Bereitstellungsprozess steuern und bearbeiten können. Diese werden weiter unten in diesem Tutorial ausführlicher behandelt.

Auf konzeptioneller Ebene passen die Komponenten der Lösung wie folgt zusammen:

Wie die Komponenten der Lösung auf konzeptioneller Ebene zusammenpassen.

Hinweis

Während die ASP.NET MVC 3-Webanwendung den ASP.NET-Mitgliedschaftsanbieter verwendet, ermöglichen alle Seiten innerhalb der Webanwendung anonymen Zugriff. Dies ist eindeutig keine realistische Konfiguration. Die Lösung wird jedoch auf diese Weise eingerichtet, um die Bereitstellung und den Test der Lösung zu erleichtern, ohne Benutzerkonten und Rollen zu konfigurieren.

Herausforderungen bei der Bereitstellung

Die Contact Manager-Lösung veranschaulicht mehrere Bereitstellungsprobleme, die in vielen Unternehmensbereitstellungsszenarien häufig auftreten:

  • Die Projektmappe besteht aus mehreren abhängigen Projekten. Sie müssen diese Projekte gleichzeitig bereitstellen.
  • Verbindungszeichenfolgen und Dienstendpunkte müssen für jede Umgebung aktualisiert werden, und in vielen Fällen stehen diese Informationen dem Entwickler nicht zur Verfügung.
  • Wenn Sie die ContactManager-Datenbank in Staging- und Produktionsumgebungen bereitstellen, müssen Sie vorhandene Daten für nachfolgende Bereitstellungen beibehalten.
  • Wenn Sie die ASP.NET Anwendungsdienstedatenbank bereitstellen, müssen Sie einige Konfigurationsdaten bereitstellen, aber keine Benutzerkontodaten auslassen.
  • Die Projekte enthalten einige Dateien und Ordner, die nicht bereitgestellt werden sollten. Sie müssen diese Dateien und Ordner aus dem Bereitstellungsprozess ausschließen.
  • Die Lösung muss die automatisierte Bereitstellung über einen Team Foundation Server-Buildserver (TFS) unterstützen.

Zusammenfassung

Dieses Thema bot einen allgemeinen Überblick über die Contact Manager-Lösung und identifizierte einige der inhärenten Bereitstellungsprobleme, die für viele Unternehmensbereitstellungsszenarien üblich sind. In den restlichen Themen in diesem Tutorial werden einige der Techniken beschrieben, die Sie verwenden können, um diese Herausforderungen zu bewältigen.

Im nächsten Thema, Einrichten der Contact Manager-Lösung, wird beschrieben, wie Sie die Lösung herunterladen und auf Ihrer Entwicklerarbeitsstation ausführen.