Mike Larah's Blog

My Apprenticeship Retrospective

by Mike Larah

A few years back, Howard wrote his thoughts on apprenticeships, drawing from his own experiences, whilst endjin were in the process of planning their own unique apprenticeship scheme. I was fortunate enough to be selected as their first candidate (guinea pig?) and, as it is National Apprentice Week this week, I thought I would write […]

Like many other developers I’m sure, I spend quite a bit of time in command line applications (Windows CMD, PowerShell, etc.). Unfortunately, these applications don’t offer a lot in terms of customization. So I use ConEmu – a highly customizable, tabbed console emulator that lets you run any shell you want. This post describes how to setup ConEmu, and how […]

Since .NET 4.0, the ConcurrentDictionary<TKey, TValue> collection type has been available as a way of ensuring thread-safe access to a collection of key/value pairs, using fine grained locking. The collection also has AddOrUpdate and GetOrAdd methods that accept delegate value factories, so that you can lazily load your values only when you need to initialize them. […]

One of the great benefits of using SpecFlow is that it allows you to write your specifications in a human readable format. You write your specifications as a series of free-text steps and use step definitions to make the connection between the free-text and your code that executes the step. The step definition contains a […]

This post will go through how to write unit tests for your AngularJS app using Jasmine, how to run those tests in Visual Studio with ReSharper and the PhantomJS headless browser, and how to add a build step to your TeamCity CI pipeline to run the tests. The source code for the demo app is available […]

Restrict access to Azure Websites by whitelisting

by Mike Larah

By utilising the IP and Domain Restrictions feature in IIS (available since IIS7), it possible to lock down your Azure Website to only allow access to IP addresses and domains that you have specified in a whitelist. To allow a single IPv4 address, add the following node to your web.config: To allow access from a […]

When you run your cloud services in Azure, it is possible to change your configuration settings (app settings, number of instances, etc.) whilst your service is running – either via the Azure portal or the service management API. However, you may want to test how your application responds to these config changes whilst running locally […]

In the previous posts I’ve explained how to set up installers in your application, how to use the content factory, and how to set up the composition framework for ASP.NET. In this post I will show you how to debug the container. If you try to resolve a component that has missing dependencies, the Container will […]

To use endjin composition framework with an ASP.NET MVC 4/WebAPI application, firstly pull in the Endjin.Core.Composition.Web package from NuGet. Following the steps from the previous posts, you can set up your interfaces, concrete types and installers. No further initialization is required though – the package includes extensions for configuring and initializing the container, and also […]

As I explained in this post, the framework provides a set of installers for registering components against interfaces in the container. Another powerful tool in the composition framework is the ContentFactory. This provides methods for registering and getting content based on a contentType string. When getting content, if the contentType is not found in the […]

1 2 3