Vorbereitungen für den Release von ASP.NET MVC4

Es dauert nicht mehr lang, bis die Version 4 von ASP.NET MVC veröffentlicht wird. Zu den Neuerungen zählen:

  • Support für mobile und benutzerdefinierte Views
  • neue Templates für mobile Applikationen
  • Support für Task und Task<T> in asynchronen Controllern
  • CSS- und JavaScript-Kombination und -Komprimierung
  • Verbesserung der Sicherheitseinstellungen in Area’s mittels neuem AreaAttribute
  • Einführung von Rezepten via NuGet (zur Automatisierung von wiederkehrenden Aufgaben bei der Erstellung)
Eine genaue Beschreibung der Roadmap findet ihr hier.

Probleme mit dem AntiForgeryToken in MVC2

In den letzten Tagen habe ich ein paar Probleme mit dem Antiforgerytoken des Html-Helpers. Bei einem Timeout des Authentication-Tokens und einen nachfolgenden Redirect auf die Loginseite wird ein Serverfehler ausgelöst. In der Version 3 von MVC existiert dieses Problem nicht mehr. Ein Test hat erwiesen, dass es hier eine Überarbeitung gegeben hat.
Einen Workaround habe ich nun auch gefunden. Wenn man die Methoden von Version 2 und 3 vergleicht, sieht man eine Überarbeitung beim Laden des Cookies. Dies lässt sich beim Einsatz von Version 2 damit umgehen, dass man die Cookies beim Laden der Loginview entfernt.
[csharp]
public ActionResult LogOn()
{
FormsService.SignOut();
Response.Cookies.Clear();

//Workaround
Request.Cookies.Clear();

Session.Clear();
Session.Abandon();

return View();
}
[/csharp]

Das Problem scheint wohl nur dann aufzutreten, wenn das Timeout des ApplicationPool des IIS abgelaufen ist.

Dependency Injection mit Ninject und ASP.NET MVC 3

In den letzten Tagen habe ich mich mal etwas näher mit der neuen Auskopplung des MVC Frameworks (ASP.NET MVC 3) beschäftigt. Nicht nur die Viewengine Razor ist hinzugefkommen, es hat sich auch einiges unter der Haube getan. Mich interessiert aktuell die vereinfachte Einbindung von Dependency Injection (IoC). Als DI-Container verwende ich Ninject und bin bisher auch sehr zufrieden damit.
Weiterlesen »

Paging für beliebige Elemente in MVC

Auf der Suche nach einer einfachen und eleganten Lösung für Paging in MVC bin ich auf das Blog von Martijn Boland gestoßen. Er hat eine kleine Assembly mit den erforderlichen Klassen und Extensions geschrieben. Enthalten ist eine angepasste List mit Metainformation für das Paging und eine Extension zum Rendern des Pagers. Dieser kann mittels CSS weiter angepasst werden. Da der Quellcode frei verfügbar ist, kann man die Quellen weiter nach eigenen Wünschen verfeinern.
Ich nutze eine angepasste Version in meinen Projekten und bin sehr zufrieden. Als Alternative kann man sich das MVC Contrib Projekt auf Codeplex mal anschauen. Hier hat mich aber der Pager nicht überzeugt. Die Darstellung ist nicht so, wie ich sie mir vorstelle. Da es aber ein Opensource-Projekt ist, wird da bestimmt noch was kommen.

Einen wichtigen Bereich unterstützt die Assembly aber nicht, das Sortieren und Filtern. Dazu habe ich aber eine weitere Extension, die ich demnächst hier veröffentlichen werde.