Exemplarische Vorgehensweise: Entwickeln von Websites unter Verwendung mehrerer Programmiersprachen
Aktualisiert: November 2007
In der Standardeinstellung werden vom Ordner App_Code mehrere Programmiersprachen nicht zugelassen. Die Webanwendungsstruktur und die Konfigurationseinstellungen zur Unterstützung mehrerer Programmiersprachen, wie z.B. Visual Basic und C#, können jedoch geändert werden. Auf diese Weise können von ASP.NET mehrere Assemblys erstellt werden, für jede Sprache eine. Weitere Informationen finden Sie unter Ordner für freigegebenen Code in ASP.NET-Websites. Üblicherweise fügen Entwickler Webanwendungen mehrere Programmiersprachen zur Unterstützung von Entwicklungsteams hinzu, die unabhängig voneinander arbeiten und unterschiedliche Programmiersprachen bevorzugen.
Diese exemplarische Vorgehensweise erklärt, wie einer ASP.NET-Anwendung mehrere Programmiersprachen hinzugefügt werden.
Erstellen der Website
Wenn Sie bereits in Exemplarische Vorgehensweise: Erstellen einer einfachen Webseite in Visual Web Developer eine Website in Visual Web Developer erstellt haben, können Sie diese Website verwenden und zum nächsten Abschnitt übergehen. Erstellen Sie andernfalls eine neue Website und eine neue Webseite, indem Sie die folgenden Schritte ausführen.
So erstellen Sie eine Dateisystem-Website
Öffnen Sie Visual Web Developer.
Klicken Sie im Menü Datei auf Neu, und klicken Sie anschließend auf Website. Wenn Sie Visual Web Developer Express verwenden, klicken Sie im Menü Datei auf Neue Website.
Das Dialogfeld Neue Website wird angezeigt.
Klicken Sie unter Von Visual Studio installierte Vorlagen auf ASP.NET-Website.
Wählen Sie im ersten Feld Speicherort die Option Dateisystem aus, und geben Sie im zweiten Feld den Namen des Ordners ein, in dem Sie die Seiten der Website speichern möchten.
Geben Sie z. B. den Ordnernamen C:\WebSites\BulkUpdate ein.
Klicken Sie in der Liste Sprache auf die Programmiersprache, in der Sie arbeiten möchten.
Klicken Sie auf OK.
Visual Web Developer erstellt den Ordner und eine neue Seite mit dem Namen Default.aspx.
Erstellen von sprachspezifischen Klassen
In diesem Teil der exemplarischen Vorgehensweise erstellen Sie einfache Klassendateien in zwei Sprachen, Visual Basic und C#.
So fügen Sie dem Ordner App_Code sprachspezifische Klassendateien hinzu
Gehen Sie folgendermaßen vor, wenn die Website noch keinen Ordner App_Code aufweist:
Wählen Sie im Projektmappen-Explorer den Namen der Website aus.
Klicken Sie im Menü Website auf ASP.NET-Ordner hinzufügen und anschließend auf App_Code.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner App_Code, und klicken Sie dann auf Neuer Ordner.
Nennen Sie den neuen Ordner "CSCode".
Wählen Sie den Ordner CSCode aus.
Klicken Sie im Menü Website auf Neues Element hinzufügen.
Das Dialogfeld Neues Element hinzufügen wird angezeigt.
Wählen Sie im Dialogfeld Neues Element hinzufügen die Klasse-Vorlage aus, nennen Sie die Klasse "CSExample", wählen Sie C# als Sprache aus, und klicken Sie auf Hinzufügen.
Doppelklicken Sie im Projektmappen-Explorer auf die Datei CSExample.cs, um sie zu öffnen.
Fügen Sie der Datei CSExample.cs den folgenden Code hinzu, und überschreiben Sie die bereits in der Datei vorhandene CSExample-Klasse:
public class CSExample { private string teamString; public CSExample() { TeamString = "C# Code"; } public string TeamString { get { return teamString; } set { teamString = value; } } }
Erstellen Sie einen Ordner und eine Klasse für Visual Basic-Code, indem Sie die Schritte 2 bis 7 mit den folgenden Werten wiederholen:
Neuer Ordner: VBCode
Neue Klassendatei: VBExample
Hinweis: Stellen Sie sicher, dass die Sprache auf Visual Basic festgelegt ist, wenn Sie die neue Visual Basic-Klassendatei erstellen.
Fügen Sie der Datei VBExample.vb den folgenden Code hinzu, und überschreiben Sie die bereits in der Datei vorhandene VBExample-Klasse:
Public Class VBExample Private teamStr As String Public Sub New() TeamString = "Visual Basic Code" End Sub Public Property TeamString() As String Get Return teamStr End Get Set(ByVal Value As String) teamStr = Value End Set End Property End Class
Ändern der Datei Web.config
Nach dem Erstellen von separaten Unterordnern für jede Programmiersprache muss die Konfiguration der Website geändert werden, damit die Unterordner von ASP.NET separat kompiliert werden.
So ändern Sie die Datei Web.config zur Unterstützung mehrerer Programmiersprachen
Wählen Sie im Projektmappen-Explorer den Namen der Website aus.
Gehen Sie folgendermaßen vor, wenn die Website noch keine Datei Web.config aufweist:
Klicken Sie im Menü Website auf Neues Element hinzufügen.
Wählen Sie Webkonfigurationsdatei aus, und klicken Sie anschließend auf Hinzufügen.
Doppelklicken Sie auf die Datei Web.config, um sie zu öffnen.
Ändern Sie den <compilation>-Abschnitt, um einen <codeSubDirectories>-Knoten einzufügen, indem Sie den folgenden Abschnitt kopieren und ihn als untergeordneten Knoten des Abschnitts <compilation> einfügen:
<codeSubDirectories> <add directoryName="CSCode"/> <add directoryName="VBCode"/> </codeSubDirectories>
Hinweis: Jede Definition dieses Abschnitts in Machine.config wird von den Einstellungen in der Datei Web.config überschrieben. Außerdem ist die Reihenfolge der Konfigurationseinträge die Reihenfolge, nach der diese Einträge erstellt und verknüpft werden.
Testen der Klassen
Nun können Sie testen, ob Ihre Website Klassen in beiden Programmiersprachen verwenden kann.
So können Sie die Ergebnisse der Verwendung mehrerer Programmiersprachen anzeigen
Gehen Sie folgendermaßen vor, wenn die Website noch keine Seite Default.aspx aufweist:
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen der Website, und klicken Sie dann auf Neues Element hinzufügen.
Wählen Sie Web Form aus, nennen Sie die Seite "Default.aspx", und klicken Sie dann auf Hinzufügen.
Doppelklicken Sie im Projektmappen-Explorer auf die Seite Default.aspx.
Fügen Sie der Seite Default.aspx ein Button-Steuerelement hinzu.
Legen Sie den Text des Button-Steuerelements auf "Klassensprache" und die ID der Schaltfläche auf "classLanguage" fest.
Fügen Sie der Seite Default.aspx ein Label-Steuerelement hinzu, legen Sie dessen ID-Eigenschaft auf "classLabel" fest, und löschen Sie dessen Text-Eigenschaft.
Doppelklicken Sie in der Entwurfsansicht auf das Button-Steuerelement, um einen Ereignishandler für das Click-Ereignis zu erstellen.
Fügen Sie dem classLanguage_Click-Handler folgenden Code hinzu:
CSExample CSCode = new CSExample(); VBExample VBCode = new VBExample(); if (classLabel.Text == CSCode.TeamString.ToString()) { classLabel.Text = VBCode.TeamString.ToString(); } else { classLabel.Text = CSCode.TeamString.ToString(); }
Dim CSCode As CSExample = New CSExample() Dim VBCode As VBExample = New VBExample() If classLabel.Text = CSCode.TeamString.ToString() Then classLabel.Text = VBCode.TeamString.ToString() Else classLabel.Text = CSCode.TeamString.ToString() End If
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Default.aspx, und wählen Sie Als Startseite festlegen aus.
Führen Sie die Website aus. Durch Drücken der Schaltfläche "Klassensprache" können Sie zwischen den beiden verschiedenen Sprachklassen wechseln.
Siehe auch
Konzepte
Ordner für freigegebenen Code in ASP.NET-Websites
Übersicht über den Lebenszyklus von ASP.NET-Anwendungen für IIS 5.0 und 6.0
Übersicht über die ASP.NET-Vorkompilierung