Database Context and Singleton injection with IoC
Posted
by
zaitsman
on Programmers
See other posts from Programmers
or by zaitsman
Published on 2013-12-29T22:27:41Z
Indexed on
2014/05/29
9:41 UTC
Read the original article
Hit count: 161
All of the below relates to a ASP.NET c# app. I have a Singleton Settings MemoryCache that reads values from database on first access and caches these, then invalidates them using SQL Service Broker message and re-reads as required.
For the purposes of standard controllers, i create my Db Context in a request scope. However, this obviously means that i can't use the same context in the Settings Cache class, since that is a singleton and we have a scope collision.
At the moment, i ended up with two db contexts - the Controllers get it via IoC container, whereas a Singleton just creates it's own.
However, i am not satisfied with this approach (mostly due to the way i feel about two contexts, the cache doesn't set anything on the db hence concurrency is not an issue as much).
What is a better way to do it?
© Programmers or respective owner