Estoy tratando con un recurso de hardware que solo puede manejar 1 comando a la vez. Voy a exponer algunas de sus funciones API a través de una interfaz web, por lo que obviamente hay una gran posibilidad de que se envíen más de un comando a la vez. He decidido que poner en cola estos comandos cuando se envíen es la mejor manera de garantizar el procesamiento en serie.Implementación de cola en C#
Planeo implementar la cola en una clase estática. El código subyacente de la aplicación web agregará un comando llamando a un método correspondiente al comando que desean. Quiero que el método de llamada espere hasta que obtenga el resultado de su comando, por lo que no se requiere magia asíncrona.
¿Estoy haciendo esto bien? ¿Hay una mejor manera?
¿Cómo empiezo a implementar la cola en C# (normalmente trabajo con Java)? Asumo que necesitaré algún evento tipo de señalar un trabajo se ha añadido, y un manejador para iniciar el procesamiento de la cola ...
estoy usando .NET Framework 4.
¿Puede modificar su pregunta para aclarar qué versión de .NET está usando? Eso determinará si puede usar ConcurrentQueue (4.0+) o Queue (2.0+). –