public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData)
        {
            string subscriberId = context.Request.QueryString["SubscriberId"];
            Subscriber subscriber = SubscriberStorage.Instance.GetSubscriber(subscriberId);
            DateTime startTime = DateTime.Now;

            DummyAsyncResult asyncResult = new DummyAsyncResult(cb);
            EventHandler messagePublished = null;
            messagePublished = (s, e) =>
            {
                subscriber.MessagePublished -= messagePublished;

                WriteResponse(context, subscriber.GetMessages(startTime));

                asyncResult.CompleteRequest();
            };
            subscriber.MessagePublished += messagePublished;
            return asyncResult;
        }
        public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData)
        {
            string     subscriberId = context.Request.QueryString["SubscriberId"];
            Subscriber subscriber   = SubscriberStorage.Instance.GetSubscriber(subscriberId);
            DateTime   startTime    = DateTime.Now;

            DummyAsyncResult asyncResult      = new DummyAsyncResult(cb);
            EventHandler     messagePublished = null;

            messagePublished = (s, e) =>
            {
                subscriber.MessagePublished -= messagePublished;

                WriteResponse(context, subscriber.GetMessages(startTime));

                asyncResult.CompleteRequest();
            };
            subscriber.MessagePublished += messagePublished;
            return(asyncResult);
        }