Ingenious Solution or Horrible Hack?
Today I found myself writing something that feels…hacky. Very hacky, actually. But it does work, and that’s more than can be said for any of the “clean” solutions I could come up with. Routing Problems...
View ArticleProxyApi: Now With Intellisense!
After announcing ProxyApi in my last post I had a few people suggest that it would be more useful if it included some kind of intellisense. So…now it does! Install the new ProxyApi.Intellisense NuGet...
View ArticleLocalising MVC Views using Display Modes
When considering localisation/globalisation/internationalisation of an MVC website there are a lot of routes you can take. The easiest of these (and therefore the most tempting) is to use a...
View ArticleKeeping MVC Views Tidy with a Base Class
I have recently been working on a site where localized values are pulled from a resource dictionary, with access to the localized values abstracted away behind an IResourceProvider interface like the...
View ArticleCustom Date Formats and the MVC Model Binder
Let’s say that you have a model with a DateTime property. public class Person { //... public DateTime DateOfBirth { get; set; } } Suppose that you want someone to fill out the details and post them...
View ArticlePublish an Azure Web Site from the Command Line
Azure Web Sites, though still in preview, are a great way of quickly hosting a scalable site on Windows Azure without the overhead of setting up and maintaining a virtual machine. One of the great...
View ArticleExplicitly Controlling Cache Dependencies in MVC
In the past, I have always used the OutputCacheAttribute when I wanted to cache the result of an Action in my MVC application; it’s simple, and it gets basic caching up and running with very little...
View ArticleTranslating Date Formats in JavaScript
Urgh, dates. It’s always bloody dates. Whether it’s different time zones, localised formats (both long and short) or any one of a hundred other annoying little problems…somehow, whenever you start...
View ArticleException Handling for Web API Controller Constructors
The generally-recommended best practice for exception handling within Web API is to to use exception filters. Once registered, these classes sit in the processing pipeline for a message and can react...
View ArticleProxyApi & Anti-Forgery Tokens
Anti-Forgery Tokens? Good question. Anti-forgery tokens are a recommended way of preventing one of the OWASP Top Ten security vulnerabilities: Cross Site Request Forgery, or CSRF. CSRF works on the...
View ArticleExcluding Current RouteData from UrlHelper
By default, the MVC UrlHelper will include all of the route values for the current route in it’s calculations. This means that unless you explicitly override them you can get situations like this:...
View ArticleSelenium: Early Thoughts on Test Automation
I have recently been running a trial of Selenium to automate some of our regression and integration testing. I have only been looking into this for a short amount of time so I am by no means an expert...
View ArticleHiding ProxyApi Routes from Web API Help Pages
If you are using ProxyApi and you have tried out the Web API Help Pages feature then you will have noticed a bunch of duplicate routes showing up for all of your actions that look something like this:...
View ArticlePublish an Azure Web Site from the Command Line
Azure Web Sites, though still in preview, are a great way of quickly hosting a scalable site on Windows Azure without the overhead of setting up and maintaining a virtual machine. One of the great...
View ArticleExplicitly Controlling Cache Dependencies in MVC
In the past, I have always used the OutputCacheAttribute when I wanted to cache the result of an Action in my MVC application; it’s simple, and it gets basic caching up and running with very little...
View ArticleTranslating Date Formats in JavaScript
Urgh, dates. It’s always bloody dates. Whether it’s different time zones, localised formats (both long and short) or any one of a hundred other annoying little problems…somehow, whenever you start...
View ArticleException Handling for Web API Controller Constructors
The generally-recommended best practice for exception handling within Web API is to to use exception filters. Once registered, these classes sit in the processing pipeline for a message and can react...
View ArticleProxyApi & Anti-Forgery Tokens
Anti-Forgery Tokens? Good question. Anti-forgery tokens are a recommended way of preventing one of the OWASP Top Ten security vulnerabilities: Cross Site Request Forgery, or CSRF. CSRF works on the...
View ArticleSelenium: Early Thoughts on Test Automation
I have recently been running a trial of Selenium to automate some of our regression and integration testing. I have only been looking into this for a short amount of time so I am by no means an expert...
View ArticleSupporting SignalR Client Handlers after Connection Start
(Yes, that is a pretty specific post title but then this is a pretty specific problem…) In general, when you create a new SignalR connection you are obliged to have already defined any of your handlers...
View Article
More Pages to Explore .....