Optionen zum Hosten von ASP.NET (C#)

von Scott Mitchell

PDF herunterladen

ASP.NET Webanwendungen werden in der Regel in einer lokalen Entwicklungsumgebung entworfen, erstellt und getestet und müssen in einer Produktionsumgebung bereitgestellt werden, sobald sie bereit für die Veröffentlichung ist. Dieses Tutorial bietet eine allgemeine Übersicht über den Bereitstellungsprozess und dient als Einführung in diese Tutorialreihe.

Einführung

Webanwendungen werden in der Regel in einer Entwicklungsumgebung entworfen, erstellt und getestet, auf die nur die Programmierer zugreifen können, die an der Website arbeiten. Sobald die Anwendung freigegeben werden kann, wird sie in eine Produktionsumgebung verschoben, in der jeder im Internet auf die Website zugreifen kann. Dieser Bereitstellungsprozess bringt eine Reihe von Herausforderungen mit sich:

  • Eine Produktionsumgebung muss vorhanden und ordnungsgemäß eingerichtet werden, bevor eine ASP.NET Anwendung bereitgestellt werden kann. darüber hinaus muss die Produktionsumgebung mit den neuesten Sicherheitspatches auf dem neuesten Stand gehalten werden.
  • Der richtige Satz von Markupdateien, Codedateien und Supportdateien muss aus der Entwicklungsumgebung in die Produktionsumgebung kopiert werden. Bei datengesteuerten Anwendungen ist hierfür möglicherweise auch das Kopieren des Datenbankschemas und/oder der Daten erforderlich.
  • Es kann Konfigurationsunterschiede zwischen den beiden Umgebungen geben. Die in der Entwicklungsumgebung verwendete Datenbankverbindungszeichenfolge oder der E-Mail-Server unterscheidet sich wahrscheinlich von der Produktionsumgebung. Darüber hinaus kann das Verhalten der Anwendung von der Umgebung abhängen. Wenn beispielsweise in der Entwicklung ein Fehler auftritt, können die Details des Fehlers auf dem Bildschirm angezeigt werden, aber wenn ein Fehler in der Produktion auftritt, sollte stattdessen eine benutzerfreundliche Fehlerseite angezeigt werden, und die Fehlerdetails werden per E-Mail an die Entwickler gesendet.

Um die erste Herausforderung zu verschleiern – einrichten und pflegen eine Produktionsumgebung – lagern viele Einzelpersonen und Unternehmen ihre Produktionsumgebungen an Webhostinganbieter aus. Ein Webhostinganbieter ist ein Unternehmen, das die Produktionsumgebung in Ihrem Namen verwaltet. Es gibt unzählige Webhostanbieter mit unterschiedlichen Preisen und Servicelevels; Tipps zum Auffinden eines solchen Dienstanbieters finden Sie im Abschnitt "Suchen eines Webhostanbieters".

Dies ist das erste in einer Reihe von Tutorials, in denen die Schritte zum Bereitstellen einer ASP.NET Webanwendung in einer Produktionsumgebung behandelt werden, die von einem Webhostanbieter verwaltet wird. Im Verlauf dieser Tutorials werden wir Folgendes untersuchen:

  • Welche Dateien für den Webhostanbieter bereitgestellt werden müssen.
  • Tools zum Optimieren des Bereitstellungsprozesses.
  • Bereitstellen einer Datenbank.
  • Tipps zum Bereitstellen einer Datenbank, die den SQL-basierten Mitgliedschafts- und Rollenanbieter verwendet, zusammen mit Möglichkeiten zum Nachahmen des Websiteverwaltungstools in einer Produktionsumgebung.
  • Strategien für die reibungslose Aktualisierung der Datenbank in der Produktion mit Änderungen, die während der Entwicklung vorgenommen wurden.
  • Techniken zum Protokollieren von Fehlern, die in der Produktion auftreten, und Möglichkeiten, Entwickler zu benachrichtigen, wenn ein Fehler auftritt.

Diese Tutorials sind darauf ausgerichtet, kurz zu sein und Schritt-für-Schritt-Anweisungen mit vielen Screenshots bereitzustellen, um Sie visuell durch den Prozess zu führen. Dieses einführungstutorial bietet eine Übersicht über den ASP.NET Bereitstellungsprozess und Empfehlungen zur Suche nach einem Webhostinganbieter. Jetzt geht‘s los!

Übersicht über den ASP.NET-Bereitstellungsprozess

Kurz gesagt, die Bereitstellung einer ASP.NET Anwendung umfasst die folgenden drei Schritte:

  1. Konfigurieren Sie die Webanwendung, den Webserver und die Datenbank in der Produktionsumgebung.
  2. Synchronisieren Sie die ASP.NET Seiten, Codedateien, die Assemblys im Bin Ordner und HTML-bezogene Supportdateien wie CSS- und JavaScript-Dateien.
  3. Synchronisieren Sie das Datenbankschema und/oder die Daten.

Die Konfigurationsinformationen für eine Webanwendung befinden sich in der Regel in der Web.config Datei und umfassen Datenbankverbindungszeichenfolgen, Fehlerbehandlungskriterien, URL-Umschreibungsregeln und E-Mail-Serverinformationen. Häufig unterscheiden sich diese Informationen für eine Anwendung in der Entwicklung von derselben Anwendung in der Produktion. Für instance empfiehlt es sich, beim Entwickeln einer Anwendung eine Entwicklungsdatenbank zu verwenden, damit Sie nicht mit der Produktionsdatenbank testen. Daher unterscheiden sich die Datenbankverbindungszeichenfolgen in der Regel zwischen Entwicklungs- und Produktionsanwendungen. Aufgrund dieser Unterschiede besteht ein Teil der Bereitstellung darin, Änderungen an den Konfigurationsinformationen der Webanwendung vorzunehmen.

Zusätzlich zu änderungen an der Webanwendungskonfiguration kann Schritt 1 auch die Konfiguration für den Webserver und die Datenbank beinhalten. Wenn beispielsweise eine ASP.NET Seite Dateien aus einem Verzeichnis auf dem Webserver erstellt oder löscht, muss der Webserver so konfiguriert werden, dass diese Dateisystemänderungen zulässig sind. Ebenso können Berechtigungs- oder Authentifizierungseinstellungen vorhanden sein, die für die Datenbank vorgenommen werden müssen.

Schritt 2 umfasst die Synchronisierung der wichtigsten ASP.NET Seiten und Supportdateien zwischen den Entwicklungs- und Produktionsumgebungen. Der bestimmte Satz von ASP.NET bezogenen Dateien, die zwischen den beiden Umgebungen synchronisiert werden müssen, hängt vom Typ des Projekts ab, das Sie in Visual Studio erstellt haben, und ist die Diskussion im nächsten Tutorial , Bestimmen, welche Dateien bereitgestellt werden müssen. In den dritten und vierten Tutorials – Bereitstellen Ihrer Website mithilfe von FTP und Bereitstellen Ihrer Website mithilfe von Visual Studio – werden verschiedene Tools und Techniken zum Synchronisieren dieser Dateien untersucht.

Beim Erstellen von datengesteuerten Anwendungen werden in der Regel zwei Datenbanken verwendet: eine für die Entwicklung und eine für die Produktion. Während der Entwicklung kann das Schema der Entwicklungsdatenbank geändert werden, um neue Tabellen, Spalten, gespeicherte Prozeduren und Trigger einzuschließen, oder es kann geändert werden, um vorhandene Datenbankobjekte zu entfernen oder umzubenennen. Zwischen dem Zeitpunkt, zu dem diese Änderungen vorgenommen werden, und dem Zeitpunkt, zu dem die Anwendung in der Produktion bereitgestellt wird, sind die Entwicklungs- und Produktionsdatenbanken nicht synchronisiert. Diese Asynchronie muss während des Bereitstellungsprozesses behoben werden. Diese Herausforderungen werden in zukünftigen Tutorials untersucht.

Suchen eines Webhostanbieters

ASP.NET Anwendungen können auf jedem Webserver bereitgestellt werden, auf dem die .NET Framework und Internetinformationsdienste (IIS) installiert sind. Sie könnten einen Standort von Ihrem Pc aus hosten, vorausgesetzt, Sie verfügen über eine Breitbandverbindung mit dem Internet und wissen, wie Sie Ihren Router so konfigurieren, dass eingehende Webanforderungen zugelassen werden. Sie können eine Website auch von einem Computer in einem Intranet aus hosten, wie es viele Unternehmen tun. Im Mittelpunkt dieser Tutorials steht jedoch das Hosten Ihrer Website mit einem Webhostanbieter.

Hinweis

IIS ist der Webserver von Microsoft auf Unternehmensniveau. Es wird mit den Nicht-Home-Editionen von Windows wie Windows Server 2008 und bestimmten Editionen von Windows Vista ausgeliefert. Sie müssen IIS nicht installieren, um ASP.NET Anwendungen in einer Entwicklungsumgebung zu bedienen, da Visual Studio den ASP.NET Development Web Server enthält. Der ASP.NET Development Web Server akzeptiert jedoch nur lokale Verbindungen und kann daher nicht in einer Produktionsumgebung verwendet werden.

Bevor Sie Ihre Website bei einem Webhostanbieter bereitstellen können, müssen Sie zunächst entscheiden, mit welchem Unternehmen Sie Geschäfte machen möchten. Es gibt unzählige Webhosting-Unternehmen auf dem Marketplace; Eine Suche nach "Webhosting-Unternehmen" gibt mehr als fünf Millionen Ergebnisse zurück. Wie finden Sie die richtige für Sie? Ihre bevorzugte Suchmaschine ist ein guter Ausgangspunkt, ebenso wie Websites wie TopHosts und HostCritique, die verschiedene Hosting-Dienste vergleichen und vergleichen. Ich rate auch, Ihre Kollegen und Kollegen um Empfehlungen zu bitten; Sie können auch auf dem Hosting Open Forum hier in den ASP.NET Foren nach Empfehlungen fragen.

Webhosting-Unternehmen bieten in der Regel shared hosting-Pläne und dedizierte Hosting-Pläne an. Mit shared hosting hostet ein einzelner Webserver Dutzende, wenn nicht Hunderte von verschiedenen Websites. Mit dediziertem Hosting leasen Sie einen Computer von dem Unternehmen, das Ihre Website und Ihre Website allein bedient. Ein Shared Hosting-Plan kann unterstützung für ASP.NET Seiten, die Möglichkeit zum Arbeiten mit Microsoft Access-Datenbanken, 5 GB Speicherplatz auf dem Datenträger und 100 GB monatlichen Bandbreitendatenverkehr für 9,95 USD pro Monat umfassen. Ein weiterer gemeinsam genutzter Hostingplan kann unterstützung für ASP.NET Seiten, Zugriff auf den Microsoft SQL Server 2008-Datenbankserver, 10 GB Speicherplatz auf dem Datenträger und 250 GB monatlichen Bandbreitendatenverkehr für 19,95 USD pro Monat umfassen. Dedizierte Hostingpläne sind in der Regel viel teurer und kosten mehrere hundert Dollar pro Monat, bieten aber eine bessere Leistung und mehr Kontrolle als shared hosting-Optionen. Welcher Plan Sie auswählen, hängt von Ihrem Budget ab, wie viel Datenverkehr Ihre Website erhält, und den Features, die Sie voraussichtlich benötigen.

Zwei wichtige Aspekte bei der Auswahl eines Webhostanbieters sind Kundenservice und Servicequalität. Wenn Sie eine Frage oder ein Konfigurationsproblem haben, wie lange dauert es, bis Sie ihr Problem an den Helpdesk des Webhosts übermitteln, bis Sie eine Antwort erhalten? Wie zuverlässig sind die Dienstleistungen des Unternehmens? Treten häufig Datenbankausfälle auf? Wie oft wird der E-Mail-Server offline geschaltet? Sie können ein Unternehmen jederzeit bitten, Details zu seiner Betriebszeit anzugeben und sich nach seiner Kundendienstrichtlinie zu erkundigen, aber eine sicherere Möglichkeit besteht darin, das Feedback von aktuellen und früheren Kunden einzuholen, was Sie über Onlineforen, Newsgroups und E-Mail-Listenservs tun können.

Hinweis

Einige Webhosting-Unternehmen konzentrieren sich auf einen bestimmten Technologiestapel, z. B. .NET oder LAMP (L inux, A pache, M ySQL und P HP). Stellen Sie daher sicher, dass das ausgewählte Unternehmen ASP.NET Anwendungen hostet. Überprüfen Sie auch, ob sie die Version von ASP.NET unterstützen, die Sie zum Erstellen Ihrer Anwendung verwenden. Wenn Sie eine datengesteuerte Anwendung erstellen, stellen Sie sicher, dass der Webhost denselben Datenbankserver und dieselbe Version bietet, die Sie verwenden.

Zusammenfassung

ASP.NET Webanwendungen werden in der Regel in einer lokalen Entwicklungsumgebung entworfen, erstellt und getestet. Sobald eine Version für die Veröffentlichung bereit ist, wird sie in eine Produktionsumgebung verschoben. Obwohl es möglich ist, ASP.NET Websites auf Ihrem PC oder auf Servern in Ihrem Unternehmen zu hosten, entscheiden sich viele Unternehmen und Einzelpersonen dafür, ihr Hosting an einen Webhostanbieter auszulagern.

In dieser Tutorialreihe werden die Schritte für die Bereitstellung einer ASP.NET-Anwendung für einen Webhostanbieter untersucht und häufige Herausforderungen untersucht. Dieses Tutorial bot einen allgemeinen Überblick über den ASP.NET Bereitstellungsprozess und gab Tipps für die Suche nach einem geeigneten Webhostanbieter. Im nächsten Tutorial wird erläutert, welche ASP.NET bezogenen Dateien in die Produktionsumgebung kopiert werden müssen, wenn Sie Ihre Website bereitstellen.

Viel Spaß beim Programmieren!

Besonderer Dank an...

Diese Tutorialreihe wurde von vielen hilfreichen Prüfern überprüft. Leitende Prüferin für dieses Tutorial war Teresa Murphy. Möchten Sie meine bevorstehenden MSDN-Artikel lesen? Wenn dies der Fall ist, legen Sie eine Zeile unter ab mitchell@4GuysFromRolla.com.