I have a .NET class that initialises some fixed readonly reference data. If I instantiate this class as a Singleton in Castle Windsor in ASP.NET then presumably all attempts to access this class by transient web calls will read from the single instance of the reference data in memory.
Is this a valid approach? Are there any downsides?
Definitely a valid approach.
Only downside as I see it is you need to make sure the class is re-entrant - it may be accessed by multiple threads concurrently.