Daniel Palme

Daniel Palme

.NET consultant from Germany.

Blog
Tag: C#

ASP.NET MVC - Authentication (Two-Factor, MembershipProvider, SimpleMembership)

Most web applications are using username and password for authentication. ASP.NET supports this concept since the very beginning.
With MVC 4 Microsoft also introduced the SimpleMembership, which makes authentication and user management more flexible.
In this post I show the various options for authentication for ASP.NET MVC applications, including a demo that implements Two-Factor authentication.

Continue reading ...

ASP.NET MVC - Generic filtering based on expressions

Recently I was asked to implement a reusable filtering mechanism in an ASP.NET MVC application. To be more concrete: A website shows a grid containing arbitrary data. The user should be able to enter a filter for each grid column.
The filters should be generated based on the type of the displayed objects. With that functionality, it is possible to filter every grid in the application with very little effort. Moreover I added a possibility to add custom search criteria.

Continue reading ...

YAGNI - 'Poor-mans CQRS' sample application with Entity Framework

This week Daniel Lang published an interesting article about unnecessary overhead in simple applications.
In a nutshell he proposes an architecture called "Poor-mans CQRS". In his sample he uses an ASP.NET MVC application. The controllers retrieve their required data directly from the database (Query), and updates are performed in service layer (Command).
In this post I will provide a (simple) application, which is based on the Entity Framework. It shows the principle and explains how unit tests can be written without querying a real database.

Continue reading ...

IoC Container Benchmark - Performance comparison

In this post I will do a performance comparison of the most popular IoC containers.
Of course performance is not the only criteria when choosing a container for a project. Perhaps you need features like interception or you develop for a specific platform, then not all containers are suited. But especially in high-load scenarios like a web application, a fast container can help you to serve more requests in the same time, so why not choose the fastest one?

Continue reading ...

MetroBackUp - Applying Metro UI and Flow Design (Event-Based Components)

Four years ago I wrote one of my first WPF applications. It was named 'BackUp' and enabled you to keep directories in sync (similiar to Microsoft's SyncToy).
Actually I learned a lot of the WPF stack by creating this application, but since I did use code behind instead of the MVVM pattern, it was a good occasion for refactoring the code and applying a new UI.
In this post I will present the new Metro UI and describe my experience in using event-based components for the synchronization workflow.

Continue reading ...