Hi. I have the following class signatures :
public interface IConfigurationManager : IApplicationService {...}
public class ConfigurationManager : IConfigurationManager, ISingletonDependency {...}
I also have this controller in the WebApi project :
public class TrendsController: AbpApiController
And it has a constructor which receives an IConfigurationManager argument.
What I've noticed is that for every api request from TrendsController, The ConfigurationManager class is recreated. But I wanted a single instance for the whole project runtime (therefore I use ISingletonDependency, as written in the documentation here: <a class="postlink" href="http://aspnetboilerplate.com/Pages/Documents/Dependency-Injection">http://aspnetboilerplate.com/Pages/Docu ... -Injection</a>). I know that because I placed a Logger.info call inside the ConfigurationManager constructor, and I see it's recreated for every api call.
Can you please tell me what have I missed ?
Thanks.
1 Answer(s)
-
0
Hi,
IApplicationService inherits ITransientDependency. So, your class will be transient. Why you implement IApplicationService? Your ConfigurationManager is not an application service. Just don't implement IApplicationService, your code will work.
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image)