'Azure Function, Dependency Injection and loop
I have the following code:
Startup.cs:
services.AddTransient<ProcessPendingDeactivateDeviceStatus>();
Function code:
public class FunctionPendingDeactivationStatusesCheck
{
private readonly IDeviceService _deviceService;
private readonly ProcessPendingDeactivateDeviceStatus _pendingDeviceStatus;
public FunctionPendingDeactivationStatusesCheck(
IDeviceService deviceService,
ProcessPendingDeactivateDeviceStatus pendingDeviceStatus)
{
_deviceService = deviceService;
_pendingDeviceStatus = pendingDeviceStatus;
}
[Singleton]
[FunctionName("FunctionPendingDeactivationStatusesCheck")]
public async Task Run([TimerTrigger("0 12,27,42,57 * * * *")] TimerInfo myTimer, ExecutionContext context, ILogger log)
{
var pendingDeletingDevices = _deviceService.GetDevicesByStatus(DeviceStatus.PendingDeleted);
foreach (var device in pendingDeletingDevices)
{
await _pendingDeviceStatus.InitAsync(device);
so, as we can see, we call InitAsync
inside loop and work with the same instance for all iterations.
I want to recreate this object for every iteration. How to do it?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|