c# - c# - 如何将相同类型的多个对象传递给控制器?

我想将同一类型的多个对象传递到ASP.NET Core 3.中的控制器。

控制器构造函数:


public RenderImageController(CloudQueue startRenderQueue, CloudQueue renderCompletedQueue)


{


 _startRenderQueue = startRenderQueue;


 _renderCompletedQueue = renderCompletedQueue;


}



我在启动时尝试了:


 services.AddSingleton(typeof(CloudQueue), startRenderQueue);


 services.AddSingleton(typeof(CloudQueue), renderCompletedQueue);



但是,它导致相同的对象(第二次)被传递给控制器。

将此类对象传递给控制器的最佳方法是什么?

时间: 作者:

将IEnumerable


//...



public RenderImageController(IEnumerable<CloudQueue> queues) { 


 _startRenderQueue = queues.FirstOrDefault(queue => queue.Name =="startRenderQueueNameHere");


 _renderCompletedQueue = queues.FirstOrDefault(queue => queue.Name =="renderCompletedQueueNameHere");


}



//...



作者:
...