Creates a ASP.NET Context scoped instance of a DataContext. This static method creates a single instance and reuses it whenever this method is called.

This version lets you specify a specific key so you can create multiple 'shared' DataContexts explicitly.