private void AddToRequestsQueue() { while (true) { try { if (listener.IsListening) { var context = listener.GetContext(); if (queueLength < QueueSize) { RequestsQueue.Enqueue(context); Interlocked.Increment(ref queueLength); } else { var response = new StatusCode(429); //429 response.Execute(context.Response); } } } catch (ThreadAbortException) { return; } catch (Exception error) { Console.WriteLine(error.Message); } } }