0
andmattia created
- ABP Framework version: lastest
- DB provider: MongoDB
Hi
we are working on a module/service that are connecto to MQTT server.
We have create a client and define it as ISingletonDependency because only one exists on our application, we set the configuration via IOptions and until here this it works fine.
At the end of domain module we add a simple to init all configuration
public override async Task OnPreApplicationInitializationAsync(ApplicationInitializationContext context)
{
var myService = context.ServiceProvider.GetService<BrokerClient>();
await myService.InitializeAsync();
}
the first execution on Receive message handler is ok and it write data on DB but the second message has all services disposed IService
// On Init Async method
_mqttClient.UseApplicationMessageReceivedHandler(ReceiveMessageHandler);
[UnitOfWork]
private async Task ReceiveMessageHandler(MqttApplicationMessageReceivedEventArgs arg)
{
...
//using (var scope = _serviceProvider.CreateScope())
//{
_logger.LogDebug(jsonString);
//}
}
If I run this code log works has expected but If I look into this and _serviceProvider is disposed
How can we recover the consistent state of UOW?
1 Answer(s)
-
0
I found the problem.
My base class inherit from DomainService and it's ITransientDependency