GooPh – a Google Voice client for Windows Phone 8

GooPh - a Google Voice client for Windows Phone 8
Last week while recovering from neck surgery, I used my down time to develop an extremely simple Windows Phone 8 app; my very own Google Voice client. The app is certified and available for purchase in the store! This was a fun little project that allowed me to see how the whole Windows Store certification ...

New address in the cloud

New address in the cloud
I thought I would give Microsoft’s Azure a test-drive, so I’ve purchased a couple of domain names and moved this blog to the cloud!  And so my adventure begins… Share this:EmailPrintDigg

Web API, HttpError and the behavior of Exceptions – ‘An error has occurred’

Web API, HttpError and the behavior of Exceptions - 'An error has occurred'
When you deploy an ASP.Net Web Api project to a server in RELEASE mode configuration and you have Custom Errors set to On, you’ll likely notice that your once nicely formatted error responses are no longer so friendly. During local development web api errors are formatted nicely with messages, stack trace, etc. (XML) <Error><Message>An error ...

Database driven Asp.net MVC Model Binding, Validation, and Metadata

One of classic MVC paradigms is that you can bind class models to a view, and with attribute based annotations, you can have synchronized server and client side validations on them. This concept is absolutely brilliant! Code once and you don’t have to worry about duplicating your server side logic in the untrustworthy browser. This ...

Simple generic C# caching class (I use this all the time) 3

I wanted to add this simple class that I find myself using all the time in every project that I create. It is a generic caching class: CacheProvider`1.cs ICacheProvider.cs I tend to use dependency injection to implement this cache. Here is a concrete implementation of my cache provider: You can download the source code here ...

Await, Async, Mvc and Impersonation 4

I’ve been using AsyncControllers in Asp.net mvc for quite a while now.   I’ve also been using the Tasks Parallel Library sparingly.  Only recently have I used them together, with and without the new .Net 4.5 async and await keywords.  Throw unmanaged impersonation into the mix and you’re in for a smorgasbord of technologies that don’t ...

Twin Cities Code Camp – Day 2

Twin Cities Code Camp - Day 2
Expressing Yourself with C# Expression Trees – Chad Kulesa Code == Data Dynamically modify code at run time. Create new code at run time. Translate code to another Langauge (SQL, XPath, etc.) Strongly typed. Lambda Easier to read Don’t need to learn the API Compiler will simplify constant expressions API Additional commands available Dynamically create ...

Twin Cities Code Camp 2012 – after lunch possibilities

I attended the Social Media presentation given by Brandy Favilla just before lunch.  I’m torn between the following presentations: Async Today and Tommorow Dart: A Replacement For JavaScript and Why You Should Care  KnockoutJS and SignalR Each has it’s benefits. I’m trying to weigh in on which technologies I might actually leverage in upcoming apps and ...

Twin Cities Code Camp 2012 – Day 1

Twin Cities Code Camp 2012 - Day 1
This post will be a compilation of my notes from Twin Cities Code Camp 2012. Understanding WebAPI in ASP.NET MVC 4 – Matt Milner – Rapson 56 What is web api? API for HTTP Services – client and server components WCF vs MVC – why do we need this api? WCF – some people just ...

What the heck is a ModelState error? Why do I care?

What the heck is a ModelState error? Why do I care?
The following post is an email I sent out to my team reviewing why we care about ModelState in an Asp.NET MVC 3 project: When you bind your views to a Model, you are basically telling MVC to keep track of all of the public properties in the class type that you bound the view ...