Use ASP.NET Core to cut the number of controllers in your web app

If you’ve ever built a Single Page Application on top of ASP.NET, you’ve probably found yourself creating a number of MVC controllers to serve your SPA’s initial views. These views then pull in all of your javascript code and references etc. In previous versions of ASP.NET, MVC and Web API controllers were separate so you’d often end up with two …


3 ways to spot if your controller is doing too much

It’s true, keeping your controllers thin is a good idea, but why? Imagine you need to do some work in an ASP.NET MVC application you’re unfamiliar with? Now imagine all the business logic is right there in the controller actions. Your job is to get a feel for the application, establish what’s already there and start working on a new …


Simplify your controllers with the Command Pattern and MediatR

This is post 1 of 2 in the series “Getting started with MediatR” So you want to keep your controllers thin even as your application becomes more and more complicated. You’re concerned that your controllers are getting bloated and you’ve heard people talk about the command pattern as one possible solution. But you don’t know how the command pattern would …


3 ways to keep your asp.net mvc controllers thin

You’ve been told that you should keep your asp.net controllers thin, that there shouldn’t be any logic in them, that testing controllers is pointless. But as your application becomes more complicated, so do your controllers. Now some pesky logic has infiltrated them and they’re looking suspiciously fat. Everyone’s advice is ringing in your ears, you know it’s probably bad to have logic in your controllers but there it is.

Here are three ways to reduce the logic living in your controllers.


What should I learn in order to develop modern asp.net web projects?

You have a job doing WebForms .net development and you get the feeling that the world is moving in a different direction. You want to take steps in that direction. But what technology should you learn? MVC?, Web API? .net core? “I’ve been working as .NET developer for about a year on an established web application (large codebase, web-forms). It’s …


Building Microservices using Azure Service Fabric 2.0

Azure Service Fabric is now GA (general availability) meaning it’s out of preview and ready for production use. In this post we’ll take a look at the new version and see how to create and deploy our first Service Fabric service.


Reduce coupling: Free your code and your tests

If you’ve ever tried to refactor some code only to find that your tests broke (even though you retained the same functionality) then the chances are your tests were tightly coupled to your implementation. This coupling meant that your tests had too much knowledge of the implementation details of your code.


Apply “Tell Don’t Ask” and reduce coupling

A few days ago I wrote an article on how coupling (when left unchecked) can impact your code. We looked at exceptions and considered the impact of throwing them in one part of your code, to catch them somewhere else.

I had some great feedback on that post and one comment in particular regarding the viability of the delegate approach in a more realistic example.

Let’s remind ourselves where we ended up.


Why coupling will destroy your application and how to avoid it

Left unchecked, tight coupling between components (especially when distributed around your application) can slowly kill your software; rendering it hard to maintain and much more likely to suffer from bugs.

How can we identify and reduce coupling in our applications?


Azure Bites: Background tasks for your web site using Azure WebJobs

Offloading tasks to run in the background can be really useful. There are times when your users don’t need to wait around for a task (such as sending an email) to finish.

I recently heard about Azure webjobs and decided to give them a go. It turns out they really simplify your message consuming code and finally get rid of those pesky loops!