Ejemplo n.º 1
0
 internal static void InitializeQueueWatcher()
 {
     if (QueueWatcherObject != null)
     {
         QueueWatcherObject.StopWatchingQueue();
         QueueWatcherThread = null;
         QueueWatcherObject = null;
     }
     QueueWatcherObject = new QueueWatcher(requestQueue);
     QueueWatcherThread = new Thread(new ThreadStart(QueueWatcherObject.ThreadWatchQueue));
     QueueWatcherThread.Start();
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Enqueues a request for processing.
        /// </summary>
        /// <param name="request"></param>
        /// <returns>Unique handle to the request</returns>
        static public AsyncProcessingResult EnqueueRequest(HttpWebRequest request)
        {
            string reqId = Guid.NewGuid().ToString();
            AsyncProcessingResult resultHandle = new AsyncProcessingResult();

            resultHandle.Key = reqId;
            lock (requestQueue)
            {
                requestQueue.Enqueue(new QueuedRequest(reqId, request, resultHandle));
            }
            QueueWatcherObject.CheckQueue();

            return(resultHandle);
        }
Ejemplo n.º 3
0
 static public void ReleaseResources()
 {
     QueueWatcherObject.ResumeWatching();
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Restarts the queue watcher. Used for unit testing
 /// </summary>
 internal static void ResumeProcessing()
 {
     QueueWatcherObject.ResumeWatching();
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Pauses the queue watcher.  Used for unit testing.
 /// </summary>
 internal static void PauseProcessing()
 {
     QueueWatcherObject.PauseWatching();
 }