Soll eine Webanwendung so erstellt werden, dass die einzelnen Bereiche gut testbar und bei Bedarf auch austauschbar sind, sollte dies von Beginn an beachtet werden. Dazu kann die hier beschriebene Referenzarchitektur verwendet werden. Besonderes Augenmerk wurde dabei auf die Austauschbarkeit der Dependencymodule gelegt. Weiterlesen »
Kategorie: ASP.NET MVC
Beta zu ASP.Net MVC 4 veröffentlicht
Heute wurde die Beta-Version des MVC-Frameworks zu ASP.NET in der Version 4.0 veröffentlicht. Der Download ist auf der MVC-Seite zu finden.
Als offensichtliche Neuerung ist der Projekttyp „Web-API“ hinzugekommen. Auch gibt es eine Möglichkeit, sogenannte Single-Page-Applications zu erstellen. Weitere Informationen kann ich aktuell noch nicht geben.
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
undTask<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)
Dynamisches Laden von Bildern
Webseiten werden immer dynamischer. Und das soll bei komplexeren Inhalten wie Bildern und Videos natürlich nicht Halt machen. In einer Webseite habe ich nun ein dynamischen Nachladen von eventuell bestehenden Bildern aus Amazon (via Amazon Webservice) integriert. Weiterlesen »
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.
Tipps, Tricks und weitere nützliche Dinge zu ASP.NET MVC3
Die neuste Version des MVC Frameworks aus dem Hause Microsoft ist nun schon ein paar Tage alt. Zeit, ein paar interessante Dinge zusammenzufassen. Ich werde auf die neue View Engine ‚Razor‘ eingehen, etwas zu neuen Möglichkeiten in Controller und Model sagen und die Vereinfachung der Verwendung von DI/IoC kurz anreißen.Weiterlesen »
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 »
Sortierungserweiterung für MVC (auf Basis von MvcPaging)
Wie im letzten Beitrag schon erwähnt, ist im dem MvcPaging-Projekt keine Möglichkeit für Sortierung und Filterung vorhanden. Dies habe ich mit ein paar zusätzlichen Codezeilen ergänzt.
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.
Tagclouds mit MVC
Tagclouds sind in Blogseiten nichts besonderes mehr. Aber es muss ja nicht immer ein Blog sein, in dem eine Tagcloud dargestellt werden soll. Was wäre z.B., wenn man eine Genreliste der Filme als Tagcloud darstellen möchte. Dazu passt eine Extension doch hervorragend.
Weiterlesen »