Author Archives:

Converting AutoMapper to a Portable Class Library

In the early days of AutoMapper, I got requests to support AutoMapper in other platforms (mainly Silverlight). I didn’t have any experience in those other platforms, but I thought it would be easy. It was not. I wound up with … Continue reading 

Posted in AutoMapper | 5 Comments

Rendering ASP.NET content as PDF

I work on quite a few line of business applications, and a common ask is for printable reports. I could use a tool like SQL Server Reporting Services, but to be honest the report building and styling of those tools … Continue reading 

Posted in ASP.NET MVC | 33 Comments

Estimations in budgets and costs

It’s been many years since I’ve estimated feature effort in meaningless measurements, such as “story points” or “feature points”, and this makes me quite happy. Several years ago, on a long agile project, we estimated all effort in points. But … Continue reading 

Posted in Agile | 10 Comments

Proper Session/DbContext lifecycle management

Most “heavy” object-relational mappers (ORMs) have an interface that provides more than just easy querying of the database. They also are implementations of two key patterns: Unit of Work Identity Map For NHibernate, this is the ISession interface, and for … Continue reading 

Posted in Architecture, Patterns | 40 Comments

Put your controllers on a diet: POSTs and commands

Previous posts in this series: Redux Defactoring A survey GETs and queries In the last post, we looked at encapsulating the interesting part of GET actions (taking request parameters and building a model) into individual encapsulated query objects and handlers. … Continue reading 

Posted in Architecture, ASP.NET MVC, Patterns | 32 Comments

Null collections/arrays from MVC model binding

I’m firmly in the camp of the Framework Design Guidelines guidance on collection properties and return values: DO NOT return null values from collection properties or from methods returning collections. Return an empty collection or an empty array instead It … Continue reading 

Posted in ASP.NET MVC | 30 Comments

Put your controllers on a diet: GETs and queries

Previous posts in this series: Redux Defactoring A survey In the last post, we surveyed the field to determine the path forward. Looking at our controller (and others), our controllers aren’t too messy, but they’re well on their way. On … Continue reading 

Posted in Architecture, ASP.NET MVC, Design | 63 Comments

Put your controllers on a diet: a survey

Previous posts in this series: Redux Defactoring In the last post, I removed all the abstractions and layers from my application in order to provide a better view on what my next steps should be. This is like climbing to … Continue reading 

Posted in Architecture, ASP.NET MVC, Design | 9 Comments

Put your controllers on a diet: defactoring

Posts in this series: Redux Defactoring Before getting to far in refactoring my controller, I want to spend a little bit of time doing some defactoring, removing abstractions and such until I can see the entire amount of non-framework code … Continue reading 

Posted in ASP.NET MVC | 34 Comments

Put your controllers on a diet: redux

A few years back, I put together a talk on putting your controllers on a diet using  variety of techniques and extension points inside MVC. Well, a lot has changed in four years, and with the lessons learned from the … Continue reading 

Posted in ASP.NET MVC | 9 Comments