Erste Schritte mit ASP.NET Core
Gilt für:Visual Studio für Mac
Visual Studio
Visual Studio für Mac erleichtert die Entwicklung des Diensts Ihrer App durch Unterstützung der aktuellen ASP.NET Core Web-Entwicklungsplattform. ASP.NET Core wird unter der aktuellen Version der .NET-Plattform und der zugehörigen Runtime ausgeführt. Das Framework wurde für schnelle Leistung optimiert, für kleine Installationsgrößen konzipiert und für die Ausführung unter Linux und macOS sowie Windows überarbeitet.
Installieren von .NET Core
.NET Core 3.1 wird automatisch mit der Installation von Visual Studio für Mac installiert. Weitere Informationen zu den .NET Core-Versionen, die in Visual Studio für Mac unterstützt werden, finden Sie unter Unterstützte Versionen von .NET.
Installieren von .NET 6
.NET 6 wird automatisch mit der Installation von Visual Studio für Mac installiert. Weitere Informationen zu den .NET-Versionen, die in Visual Studio für Mac unterstützt werden, finden Sie unter Unterstützte Versionen von .NET.
Erstellen einer ASP.NET Core-App in Visual Studio für Mac
Öffnen Sie Visual Studio für Mac. Wählen Sie auf dem Startbildschirm Neues Projekt… aus.
Das Dialogfeld Neues Projekt wird geöffnet. In diesem Dialogfeld können Sie eine Vorlage auswählen, um Ihre Anwendung zu erstellen.
Es gibt zahlreiche Projekte, die eine vorgefertigte Vorlage zum Erstellen einer ASP.NET Core-Anwendung bereitstellen. Sie lauten wie folgt:
- .NET Core > Leer
- .NET Core > API
- .NET Core > Webanwendung
- .NET Core > Webanwendung (Model View Controller)
- .NET Core >Blazor Server-App
- .NET Core >Blazor WebAssembly App
Wählen Sie die leere ASP.NET Core-Webanwendung und dann Weiter aus. Benennen Sie das Projekt, und wählen Sie Erstellen aus. Dadurch wird eine neue ASP.NET Core-App erstellt. Erweitern Sie im linken Bereich des Projektmappenfensters den zweiten Pfeil, und wählen Sie dann Startup.cs aus. Die Anzeige sollte der folgenden Abbildung ähneln:
Die leere Projektvorlage zum Erstellen einer ASP.NET Core-Anwendung erstellt eine Webanwendung mit zwei Standarddateien: Program.cs und Startup.cs, die hier weiter erläutert werden. Außerdem wird der Ordner Abhängigkeiten erstellt, der die NuGet-Paketabhängigkeiten Ihres Projekts enthält, z. B. ASP.NET Core, das .NET Core-Framework und die MSBuild-Ziele, die das Projekt erstellen:
Program.cs
Öffnen sie die Datei program.cs in Ihrem Projekt, und schauen Sie sich diese an. Beachten Sie, dass zwei Dinge in der Main
-Methode geschehen – der Eingang Ihrer Anwendung:
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
Eine ASP.NET Core-Anwendung erstellt in ihrer Hauptmethode einen Webserver, indem sie einen Host über eine Instanz von WebHostBuilder
konfiguriert und startet. Dieser Generator bietet Möglichkeiten zum Konfigurieren des Hosts. In der Vorlagen-App werden die folgenden Konfigurationen verwendet:
.UseStartup<Startup>()
: Gibt die Startup-Klasse an.
Sie können jedoch auch weitere Konfigurationen hinzufügen, z.B.:
UseKestrel
: Gibt an, dass der Kestrel-Server von der Anwendung verwendet wird.UseContentRoot(Directory.GetCurrentDirectory())
: Verwendet den Stammordner des Webprojekts als Inhaltsstamm der Anwendung, wenn die Anwendung aus diesem Ordner gestartet wird..UseIISIntegration()
: Gibt an, dass die Anwendung mit IIS funktionieren soll. Um IIS mit ASP.NET Core verwenden zu können, muss sowohlUseKestrel
als auchUseIISIntegration
festgelegt sein.
Startup.cs
Die Startup-Klasse für Ihre Anwendung wird in der UseStartup()
-Methode im CreateWebHostBuilder
festgelegt. In dieser Klasse legen Sie die Pipeline fest, die Anforderungen verarbeitet. Darüber hinaus können Sie hier jeden Dienst konfigurieren.
Öffnen sie die Datei startup.cs in Ihrem Projekt, und schauen Sie sich diese an.
public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
}
}
Diese Startup-Klasse muss sich immer an folgende Regeln halten:
- Sie muss immer öffentlich sein.
- Sie muss die beiden öffentlichen Methoden
ConfigureServices
undConfigure
enthalten
Die ConfigureServices
-Methode definiert die Dienste, die von Ihrer Anwendung verwendet werden.
Mit Configure
können Sie Ihre Anforderungspipeline mithilfe von Middleware erstellen. Dabei handelt es sich um Komponenten, die in einer ASP.NET-Anwendungspipeline verwendet werden, um Anforderungen und Reaktionen zu verarbeiten. Die HTTP-Pipeline besteht aus zahlreichen Anforderungsdelegaten, die nacheinander aufgerufen werden. Jeder Delegat kann die Anforderung entweder selbst behandeln oder sie an den nächsten Delegaten übergeben.
Sie können Delegate mit den Methoden Run
, Map
und Use
in IApplicationBuilder
konfigurieren, aber die Run
-Methode ruft niemals den nächsten Delegaten auf und sollte immer am Ende Ihrer Pipeline verwendet werden.
Die Configure
-Methode der vorgefertigten Vorlage wurde speziell für einige bestimmte Aktionen entwickelt. Zunächst konfiguriert sie eine Seite zur Behandlung von Ausnahmen, die während der Entwicklung verwendet werden kann. Danach sendet sie eine Antwort an die anfragende Webseite, die einfach „Hello World“ enthält.
Dieses einfache „Hello World“-Projekt kann nun ausgeführt werden, ohne das zusätzlicher Code hinzugefügt werden muss. Sie können zum Ausführen der App über die Dropdownliste rechts neben der Wiedergabeschaltfläche auswählen, in welchem Browser Sie die App ausführen möchten. Oder Sie können auf die Schaltfläche Wiedergabe (Dreieck) klicken, um Ihren Standardbrowser zu verwenden:
Visual Studio für Mac verwendet einen zufälligen Port, um Ihr Webprojekt zu starten. Öffnen Sie die Anwendungsausgabe unter Ansicht > Weitere Fenster, um herauszufinden, um welchen Port es sich dabei handelt. Die Ausgabe sollte dem folgenden Beispiel ähneln:
Sobald das Projekt ausgeführt wird, sollte Ihr Standardwebbrowser gestartet werden und eine Verbindung zu der URL herstellen, die in der Ausgabe der Anwendung aufgeführt ist. Als Alternative können Sie einen Browser Ihrer Wahl öffnen und http://localhost:5000/
eingeben. Ersetzen Sie dabei 5000
durch den Port, den Visual Studio in der Anwendungsausgabe ausgegeben hat. Der Text Hello World!
sollte angezeigt werden:
Hinzufügen eines Controllers
ASP.NET Core-Apps verwenden das Entwurfsmuster von Model-View-Controller (MVC), um eine logische Trennung zwischen den Verantwortlichkeiten der verschiedenen Teile der Anwendung zu gewährleisten. Das MVC-Entwurfsmuster besteht aus den folgenden Elementen:
- Model: Eine Klasse, die die Daten der App darstellt.
- Ansicht: Zeigt die Benutzeroberfläche der App an (wobei es sich häufig um die Modelldaten handelt).
- Controller: Eine Klasse, die Browseranforderungen verarbeitet und auf Benutzereingaben und -interaktionen reagiert.
Weitere Informationen zum Verwenden von MVC finden Sie im Leitfaden Übersicht über ASP.NET Core MVC.
Führen Sie zum Hinzufügen eines Controllers die folgenden Schritte aus:
Klicken Sie mit der rechten Maustaste auf den Projektnamen und dann auf Neue Dateien > hinzufügen. Klicken Sie auf Allgemein > Leere Klasse, und geben Sie einen Controllernamen ein:
Fügen Sie dem neuen Controller den folgenden Code hinzu:
using System; using Microsoft.AspNetCore.Mvc; using System.Text.Encodings.Web; namespace Hello_ASP { public class HelloWorldController : Controller { // // GET: /HelloWorld/ public string Index() { return "This is my default action..."; } } }
Fügen Sie die
Microsoft.AspNetCore.Mvc
-Abhängigkeit zu dem neuen Projekt hinzu, indem Sie mit der rechten Maustaste auf den Ordner Abhängigkeiten und dann auf Paket hinzufügen... klicken.Verwenden Sie das Suchfeld, um die NuGet-Bibliothek nach
Microsoft.AspNetCore.Mvc
zu durchsuchen, und klicken Sie dann auf Paket hinzufügen. Die Installation kann einige Minuten in Anspruch nehmen, und Sie werden möglicherweise aufgefordert, verschiedene Lizenzen für die erforderlichen Abhängigkeiten zu akzeptieren:Entfernen Sie in der Startup-Klasse den
app.Run
-Lambdaausdruck, und legen Sie die URL-Routinglogik auf Folgendes fest, die von MVC verwendet wird, um zu bestimmen, welcher Code aufgerufen werden soll:app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=HelloWorld}/{action=Index}/{id?}"); });
Achten Sie darauf, dass Sie den
app.Run
-Lambdaausdruck entfernen, da dieser die Routinglogik außer Kraft setzt.MVC verwendet das folgende Format, um zu bestimmen, welche Code ausgeführt werden soll:
/[Controller]/[ActionName]/[Parameters]
Wenn Sie den Codeausschnitte oben hinzufügen, informieren Sie der App darüber, dass der
HelloWorld
-Controller und dieIndex
-Aktionsmethode als Standard verwendet werden sollen.Fügen Sie den der
ConfigureServices
-Methode denservices.AddMvc();
-Aufruf hinzu, wie im folgenden Code gezeigt:public void ConfigureServices(IServiceCollection services) { services.AddMvc(); }
Sie können auch Parameterinformationen von der URL an den Controller übergeben.
Fügen Sie eine weitere Methode zu HelloWorldController hinzu, wie im folgenden Code gezeigt:
public string Xamarin(string name) { return HtmlEncoder.Default.Encode($"Hello {name}, welcome to Visual Studio for Mac"); }
Wenn Sie jetzt die App ausführen, sollte Sie automatisch Ihren Browser öffnen:
Wenn Sie zu
http://localhost:xxxx/HelloWorld/Xamarin?name=Amy
navigieren und dabeixxxx
durch den richtigen Port ersetzen, sollte die folgende Seite angezeigt werden:
Öffnen sie die Datei program.cs in Ihrem Projekt, und schauen Sie sich diese an. Beachten Sie, dass mehrere Dinge geschehen. Zunächst einmal gibt es keine Main
-Methode. Standardmäßig ist die leere Vorlage so konfiguriert, dass sie die in .NET 6 eingeführten Minimalprojekte vom Typ „Web-API“ verwendet.
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
Der folgende Code erstellt einen WebApplicationBuilder und eine WebApplication mit vorkonfigurierten Standardwerten:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
Der nachstehende Code erstellt einen HTTP GET-Endpunkt /
, der Hello World!
zurückgibt:
app.MapGet("/", () => "Hello World!");
app.Run();
führt die App aus.
Dieses einfache „Hello World“-Projekt kann nun ausgeführt werden, ohne das zusätzlicher Code hinzugefügt werden muss. Sie können zum Ausführen der App entweder über die Dropdownliste rechts neben der Wiedergabeschaltfläche auswählen, in welchem Browser Sie die App ausführen möchten, oder einfach die (dreieckige) Wiedergabeschaltfläche drücken, um Ihren Standardbrowser zu verwenden:
Visual Studio für Mac verwendet einen zufälligen Port, um Ihr Webprojekt zu starten. Öffnen Sie die Anwendungsausgabe unter Ansicht > Weitere Fenster, um herauszufinden, um welchen Port es sich dabei handelt. Dort sollten Sie eine Ausgabe wie die folgende sehen:
Sobald das Projekt ausgeführt wird, sollte Ihr Standardwebbrowser gestartet werden und eine Verbindung zu der URL herstellen, die in der Ausgabe der Anwendung aufgeführt ist. Als Alternative können Sie einen Browser Ihrer Wahl öffnen und http://localhost:5000/
eingeben. Ersetzen Sie dabei 5000
durch den Port, den Visual Studio in der Anwendungsausgabe ausgegeben hat. Der Text Hello World!
sollte angezeigt werden:
Problembehandlung
Wenn Sie .NET Core manuell unter macOS 10.12 (Sierra) installieren müssen, führen Sie die folgenden Schritte aus:
Bevor Sie mit der Installation von .NET Core beginnen, achten Sie darauf, dass Sie alle Betriebssystemupdates auf die aktuelle stabile Version durchgeführt haben. Dies können Sie überprüfen, indem Sie zur App Store-Anwendung navigieren und auf die Registerkarte Updates klicken.
Folgen Sie den Schritten auf der .NET Core-Website.
Achten Sie darauf, dass Sie alle Schritte erfolgreich abschließen, um sicherzustellen, dass .NET Core ordnungsgemäß installiert wird.
Zusammenfassung
Dieses Handbuch hat Sie in ASP.NET Core eingeführt. Nun wissen Sie, was ASP.NET Core ist und wofür und wie Sie es in Visual Studio für Mac verwenden können. Weitere Informationen zu den nächsten Schritten finden Sie in den folgenden Ressourcen:
- Dokumentation zu ASP.NET Core
- Create Backend Services for Native Mobile Applications (Erstellen von Back-End-Diensten für native mobile Anwendungen). Hier erfahren Sie, wie Sie einen REST-Dienst mit ASP.NET Core für eine Xamarin.Forms-App erstellen können.
- Praktische Übung zu ASP.NET Core