Любой выбранный вами класс может содержать его экземпляр, однако наиболее разумно было бы связать его с классом, который отвечает за любую функциональность, для которой используется очередь.
Например, класс Cache:
public class MyCache
{
public static ConcurrentQueue Queue { get; private set; }
static MyCache()
{
Queue = new ConcurrentQueue();
}
}
Это инициализирует его при первом использовании класса MyCache. Если вам нужен более точный контроль зерна, вы можете создать метод Initialize
, который ваш файл Global.asax.cs вызывает при запуске приложения.