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.
I'm currently working on an application which uses reflection to create a generic UI. Therefore I was interested in the performance impact of reflection. In this post I will do a comparison between the various possibilities to access a property.
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.
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?
Just some days ago, a new code coverage tool was released for the first time. It's called OpenCover. Shaun Wilde created this tool, since PartCover 4 has some issues that are difficult to resolve with the current code base. He describes some of them on his blog.
In this post I will do a comparison between OpenCover and PartCover and show how these tools can be used to get the coverage of unit tests.
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.
For a long time I have been using Outlook to manage my contacts and appointments. I always synchronized my mobile phone with Outlook. After buying an Android device things have changed.
Now I use Google Contacts and Google Calendar to manage my contacts and appointments. Since I still use Outlook I need an easy way to synchronize Google with Outlook. Google provides GoogleCalendarSync to synchronize your calendar, but synchronizing contacts is only available for business customers.
In this post I will provide an Outlook addin which imports your Google contacts to Outlook.
About one year ago a created a blog engine which was based on ASP.NET MVC 1. Since then technologies have evolved. When ASP.NET MVC 3 was released, I decided to update my blog engine to use the new RazorViewEngine. Instead of MSSQL Express I use Microsoft SQL Server Compact 4.0 together with the new Entity Framework 'Code First' approach.
Today I took a look at the new covariance and contravariance features of .NET 4. In this post I will explain the theoretical background and will provide some practical examples. The code snippets cover most of the features of CLR 1 to CLR 4.
Unity is a well known dependency injection container. Custom extensions can be created to extend its functionality. The download of Unity contains an extension for interception.
In this post I will show you, how interception can be used for separation of cross-cutting concerns.