It’s worth knowing how the Castle Windsor IoC work, by default it uses Singletons, where this will work for the most of the time, there are a lot more options available to you depending on your needs. These lifestyles that are available in Castle Windsor are:
- Singleton: components are instantiated once, and shared between all clients
- Transient: components are created on demand
- PerWebRequest: components are created once per Http Request
- Thread: components have a unique instance per thread
- Pooled: Optimization of transient components that keeps instance in a pool instead of always creating them
- Custom: allows you to specify a custom lifestyle… you’d have to specify a type that implements the ILifeStyleManager interface
For further information on this take a look at Castle Windsors Lifestyles or Windsor and component instance lifetimes