© Vladystock/Shutterstock.com
Neue Programmierschnittstellen in ASP.NET Core

Neue APIs braucht das Land


Die Programmierschnittstellen für die Webserverprogrammierung im klassischen ASP.NET sind schon sehr alt, denn einige von ihnen stammen aus der Mitte der 1990er-Jahre, aus den Zeiten der COM-basierten Active Server Pages (ASP). In ASP.NET Core hat Microsoft daher die APIs für typische Programmieraufgaben wie Session, Konfiguration, Routing etc. überarbeitet und neue APIs (z. B. für Dependency Injection) ergänzt.

Im klassischen ASP.NET gibt es mehrere verschiedene Anwendungsframeworks, die alle auf der System.Web.dll (Abb. 1) basieren. In ASP.NET Core gibt es diese zentrale DLL nicht mehr. Als einziges auf ASP.NET Core aufbauendes Framework gibt es bislang ASP.NET MVC inklusive der Möglichkeit, Web-APIs zu schreiben. Die Implementierung von ASP.NET SignalR für ASP.NET Core ist in Arbeit [1]. Web Pages wurde noch mit „will come later in the year“ zum Release 1.0 erwähnt [2], ist aber fast ein Jahr danach immer noch nicht zu sehen.

schwichtenberg_1.tif_fmt1.jpgAbb. 1: Frameworks in ASP.NET versus ASP.NET Core

Die Funktionen, die bisher zum Großteil in der System.Web.dll steckten, verteilten sich nun auf viele Assemblies in NuGet-Paketen. Einige der nachstehend genannten Funktionen sind aber auch neu, z. B. Dependency Injection und Sessions in Redis; diese waren im alten ASP.NET nicht vorgesehen:

  • Konfiguration (Microsoft.Extensions.Configuration)

  • Dependency Injection (Microsoft.Extensions.DependencyInjection)

  • Fehlerbehandlung (Microsoft.AspNetCore.Diagnostics)

  • Protokollierung (Microsoft.Extensions.Logging)

  • Mehrsprachigkeit (Microsoft.AspNetCore.Localiza­tion und Microsoft.AspNetCore.Mvc.Localization)

  • Cookies (Microsoft.AspNetCore.Http und System.Net.Primitives)

  • Sitzungen (Microsoft.AspNetCore.Session)

  • Caching (Microsoft.Extensions.Caching, einschließlich der Integration mit Redis im Paket Microsoft.Extensions.Caching.Redis und SQL Server Microsoft.Extensions.Caching.SqlServer)

  • Cross-origin Requests (CORS, Microsoft.AspNetCore.Cors)

  • Benutzerverwaltung (Microsoft.AspNetCore.Identity)

  • Authentifizierung (Microsoft.AspNetCore.Authentication)

  • Zugriffskontrolle (Microsoft.AspNetCore.Authorization)

In diesem Beitrag werden einige dieser neuen APIs vorgestellt, aus Platzgründen können hier aber nur die Kernfunktionen vorgestellt werden. Details finden Sie in der Dokumentation [3]. Eine Klassenreferenz gibt es auch unter [4]; diese ist aber nicht so ausführlich, wie sie für das klassische ASP. NET in MSDN vorhanden war. So findet man z. B. zur Ses­sion­Exten­sions-Klasse [5] nicht einen einzige...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang