'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