As a general practice, it is useful to try to avoid global status in web applications whenever possible. . ASP.NET is a multi-threaded environment in which multiple requests can be served in parallel. If your global state is not immutable (read-only), you will have to solve the problems that govern the general mutable state.
If your general state is immutable, and you do not need to list it, then I do not see problems with static variables.
If your shared state is mutable / mutable, then you probably want to create an abstraction on top of which underlyig mechanism you prefer to store data to ensure access and change of this general state is consistent and meets the expectations of the code that consumes it. I would probably use the system cache in such a design, just to be able to use the expiration and dependency functions built into the cache service (if necessary).
source share