ASP.NET Core Grundlagen - Application Startup

Die startup Klasse ist der Einstiegspunkt in unsere Applikation, Konfigurationen werden initialisiert und Services gestartet. Eine Startup Klasse muss also in jedem Fall vorhanden sein.

Die Startup Klasse

ASP.NET dursucht das Assembly nach genau dieser Klasse mit dem Namen startup.

Wenn mehrere Startup Klassen definiert sind wählt ASP.NET die Startup Klasse mit dem passenden Namespace aus, oder falls nicht vorhanden die Alphabetisch zuerst auftetetende Startup Klasse.

Die Startup Klasse erlaubt optional Abhängigkeiten welche durch Dependency Injection bereitgestellt werden, zudem definiert beeinhaltet diese Klasse folgende Methoden Configure und ConfigureService beide werden aufgerufen sobald die Applikation startet.

Configure Methode

Die Configure Methode definiert wie ASP.NET auf individuele HTTP Anfragen reagiert.

Im folgenden ein Beispiel aus dem Default Web Site Template von Visual Studio. Es ist zu erkennen das verschiedene Erweiterungsmethoden genutzt werden um die Pipeline um Funktionen zu erweitern.

  • UseBrowserLink()
  • UseStaticFiles()
  • UseMvc()
  • UseExceptionHandler()

Jede Use-Erweiterungungsmethode fügt der Request Pipeline einen Zwischenschritt hinzu.

Configure Service Methode

Diese Methode ist optional und wird vor der Configure Methode aufgerufen, dies ist wichtig da einige Funktionen von ASP.NET MVC in diesem Service hinzugfügt werden müssen bevor Sie durch Configure der Request Pipeline hinzuefügt werden können.

Verfügbare Services in der Startup Klasse

Wir haben in diesem Beitrag bereits einige der verfügbaren Services kennengelernt. Die Services werden via Interface als Parameter der Methoden Configure oder ConfigureService oder alternativ im Konstruktur übergeben und stellen für verschiedenen Bereiche Funktionen wie zum Beispiel Logger zur verfügung.

IApplicationBuilder, IHostingEnironment, ILoggerFactory, IService Factory

Achtung in 1.0.0-rc2 sind hierzu Änderungen enthalten https://github.com/aspnet/Announcements/issues/157