 <p>Why don't you simply use static variables ?</p> <p><code>HttpContext</code> is dependent on ASP.NET pipeline. In a host-agnostic model (OWIN or self-hosted) you don't have access to it.</p> <p>Application storage in <code>HttpApplicationState</code> is only useful if you need to access the current HttpContext. If it's not necessary, you should simply use static properties. </p> <p>Moreover, <code>HttpApplicationState</code> was initially created for backward compatibility with classic ASP.</p> <pre><code>public static class StaticVariables { public static object SomeInfo { get; set; } } </code></pre> <p>See also <a href="http://stackoverflow.com/questions/2179923/singleton-and-httpapplicationstate">Singleton and HttpApplicationState</a> and <a href="http://forums.asp.net/t/1574797.aspx" rel="nofollow">http://forums.asp.net/t/1574797.aspx</a></p>