title: How exactly IAppBuilder.CreatePerOwinContext<T> should be used?
body: <p>I'm confused on how the OWIN CreatePerOwinContext method is to be used. As far as I can see it's a poor mans DI mechanism. Yet, I fail to see how to use it.</p>
  
  <p>We can register a type/implementation at the Startup sequence like:</p>
  
  <pre><code>app.CreatePerOwinContext&lt;IUserService&gt;(() =&gt; {
       return new UserService() as IUserService;
  });
  </code></pre>
  
  <p>Then how do we resolve to that later on. Documentation says it can be retrieved via Get method. But <code>Get&lt;T&gt;</code> expects a string parameter, which is the key to that entry in the Enviornment IDictionary? How can I know the key in this case?</p>
  
  <pre><code>IUserService userService = context.Get&lt;IUserService&gt;(???);
  </code></pre>