Email Address in MVC 5 Google Authentication

I’m not proud to admit that I spent hours trying to figure out this very simple problem. The goal was simple: when a user logs into my web application using Google authentication, I want to be able to grab their email address so I can store it as part of their user profile. As expected, this is very simple. I’m assuming you’ve already enabled Google authentication by uncommenting app.UseGoogleAuthentication() in your Startup....

November 9, 2013

Referencing EF Resources in a Specific Assembly

This post and sample application demonstrate a possible issue with the way that Entity Framework loads the embedded metadata resources (csdl, msl, ssdl) for the entity model. In my application, all assemblies in some specific directory are discovered and loaded at runtime. Think of it as a sort of plugin model. The application allows for multiple versions of the same assembly to be loaded, and each dll follows the [AssemblyName].[Version].dll naming scheme....

July 13, 2013

Pass a Connection String to a Generated DbContext

The default DbContext generated with your Entity Data Model has one constructor that takes no arguments. If you need to build the connection string programatically and pass it to the DbContext, you will have to add your own constructor. However, if you do this in the generated file, {ModelName}.Context.cs, you will lose your changes the next time the {ModelName}.Context.tt script is run. The solution is to edit the script, {ModelName}.Context.tt. Just add the following code after the code to generate the default constructor (around line 71)....

February 3, 2013

How Not To Restart A ClickOnce Application

Normally if you need to restart a WPF application programatically, you would use the following code: private void Restart() { System.Diagnostics.Process.Start( Application.ResourceAssembly.Location); Application.Current.Shutdown(); } If you have a ClickOnce WPF application, you do not want to do this. In order to understand why, you need to understand how a ClickOnce application is normally launched. The shortcut you click on in the Start menu is not a normal shortcut to an executable....

October 20, 2012

Borderless WPF Window

I’ve put together a very simple borderless WPF window that complements Microsoft’s Metro style quite well. I won’t go into a lot of detail here, since the code does most of the talking, but I will go over the important parts here. If you want to skip right to the source code, you can find it over at GitHub: http://bit.ly/N7afKQ Starting with a fresh window set and the window properties WindowStyle="None", AllowsTransparency="True", and ResizeMode="CanResizeWithGrip"....

June 30, 2012