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 creates an internal request specific key shared key that is shared by each caller of this method from the current Web request.