Zeitstempel in (ASP) .NET Core Anwendungen auf der Konsole anzeigen

Zeitstempel in (ASP) .NET Core Anwendungen auf der Konsole anzeigen

Die ILogger Schnittstelle ermöglicht das einfache Injizieren eines Loggers in jegliche Klasse. Durch das Protokollieren des Namespace ist stets klar, von welcher Komponente die Informationen stammen. In der appsettings.json können wir für jeden Namespace den Detailgrad einstellen. Dies geht bis hin zu Debug- und Tracelogs, die uns z.B. beim EntityFramework die SQL-Abfragen protokollieren. Das standardmäßig …

Browser Sync: ASP.NET Core automatisch neu laden in Visual Studio Code

Browser Sync: ASP.NET Core automatisch neu laden in Visual Studio Code

Browser Sync ist eine Funktionalität des klassischen Visual Studio: Wird eine Razor-Ansicht verändert und gespeichert, aktualisiert das Tool automatisch euer Browser-Fenster. Das händische Aktualisieren entfällt damit. Leider besitzt der quelloffene Visual Studio Code Editor bislang keine vergleichbare Funktionalität. Glücklicherweise lässt sich ein ähnliches Verhalten mit Browsersync umsetzen. So kommt ihr auch unter Linux in den …

Visual Studio Projekt als lokale NuGet Paketquelle einbinden

Visual Studio Projekt als lokale NuGet Paketquelle einbinden

Visual Studio kann während des Buildvorgangs automatisch ein NuGet-Paket erstellen. Im Ordner bin/Debug entsteht so eine .nupkg Datei, die dem Name der Projektmappe entspricht. Diese lässt sich – sowohl manuell als auch automatisiert – bereitstellen. Wahlweise auf NuGet.org oder einer selbst gehosteten Registry. Hierfür kommt beispielsweise ProGet in Frage. Für die finale Bereitstellung wird man …

Jenkins mittels GitLab-Push triggern: Konfiguration des neuen GitLab Plugins

Jenkins mittels GitLab-Push triggern: Konfiguration des neuen GitLab Plugins

Kontinuierliche Integration, auf Englisch Continous Integration (kurz CI) ist in der professionellen Softwareentwicklung längst zum elementaren Standard geworden. Das Bauen der Software muss kein lästiger Arbeitsschritt sein, sondern lässt sich bequem in den Arbeitsablauf integrieren: Beispielsweise löst das Pushen in einen bestimmten Branch wie dev das Erstellen auf einem Entwicklersystem auf. Wogegen ein Merge-Request als …

ASP.NET Core Projekt von Version 1.0 auf 1.1 aktualisieren

ASP.NET Core Projekt von Version 1.0 auf 1.1 aktualisieren

Bereits seit Ende 2016 ist .NET Core in Version 1.1 erschienen. Sicherheitstechnisch ist dies wahrlich kein Pflicht-Update – Erhält 1.0 als LTS-Release drei Jahre lang Aktualisierungen. Dennoch lohnt sich ein Blick auf die Neuerungen. Darunter unter anderem View-Kompoenten oder die Möglichkeit, Razor-Views bereits zur Kompilierzeit statt zur Laufzeit vorzukompilieren. Leider ist der Updateprozess noch nicht …

ASP.NET Core: ViewBag-Eigenschaft im Konstruktur eines Controllers setzen

ASP.NET Core: ViewBag-Eigenschaft im Konstruktur eines Controllers setzen

In einer MVC-Anwendung kommt es immer wieder vor, dass man bestimmte Daten im gesamten Controller benötigt. Beispielsweise für eine Info-Box oder Sidebar, die man mittels ViewBag/ViewData unabhängig vom Model der jeweiligen Aktionen übergibt. Als objektorientierter Entwickler kommt man hier schnell auf die Idee, die Daten einfach im Konstruktur zu laden. Jedoch ist es nicht möglich, …

Razor-Ansichten in ASP.NET Core mit dem neuen cache TagHelper zwischenspeichern

Razor-Ansichten in ASP.NET Core mit dem neuen cache TagHelper zwischenspeichern

Razor ist eine einfache, flexible, aber zugleich mächtige Template-Sprache für ASP.NET und ASP.NET Core Webanwendungen. Allerdings werden Razor-Ansichten erst zur Laufzeit in C# Code kompiliert. Dieser wiederum muss bei jeder Anfrage ausgeführt werden. Zwar erledigt ASP.NET Core dies sehr performant. Je nach Anwendung macht es dennoch Sinn, die kompilierten und gerenderten Razor-Ansichten zwischenzuspeichern. Insbesondere Teilansichten, die …

ASP.NET Core: TagHelper statt UrlHelper für sauberen und lesbaren Code

ASP.NET Core: TagHelper statt UrlHelper für sauberen und lesbaren Code

Im alten ASP.NET MVC gab es eine recht umfangreiche Sammlung an UrlHelpern. Sie wurden zur Generierung von Links und Formular-Elementen wie Labeln oder Textboxen in Razor-Ansichten genutzt. Ihr Vorteil bestand darin, dass die entsprechenden HTML-Elemente automatisch auf Basis der genutzten Komponenten (Model, Route usw) generiert wurden. In einem Formular genügte es daher, beispielsweise den Anzeigetext …

Cache busting in ASP.NET Core: Verhindern, dass Browser alte JS/CSS Dateien oder Bilder zwischenspeichern

Cache busting in ASP.NET Core: Verhindern, dass Browser alte JS/CSS Dateien oder Bilder zwischenspeichern

Bereits seit längerem ist es bei vielen Browsern üblich, statische Inhalte wie JavaScript/CSS und Bilder lokal zwischenzuspeichern. In der Regel geschieht dies anhand des Namens: Der Browser lädt beispielsweise die Datei style.css beim ersten Besuch herunter und speichert sie lokal auf dem Computer. Beim nächsten Aufrufen der Seite prüft der Browser zuerst seinen Cache, findet die style.css …