CompleteRequestWithMessages() public method

public CompleteRequestWithMessages ( IEnumerable responseMessages ) : void
responseMessages IEnumerable
return void
コード例 #1
0
ファイル: MessageBus.cs プロジェクト: Jarrey/tbwebframework
        public void HandleMessages(Message[] messages, CometAsyncResult asyncResult)
        {
            // Do this before we process the messages in case it's a disconnect
            Client sendingClient = GetSenderOf(messages);

            IMessagesProcessor processor = this.CreateProcessorAndProcess(messages);

            if (sendingClient == null)
            {
                asyncResult.CompleteRequestWithMessages(processor.Result);
                return;
            }

            if (sendingClient.CurrentAsyncResult != null)
            {
                sendingClient.FlushQueue();
            }

            sendingClient.CurrentAsyncResult = asyncResult;
            sendingClient.Enqueue(processor.Result);

            if (processor.ShouldSendResultStraightBackToClient)
            {
                sendingClient.FlushQueue();
            }
        }
コード例 #2
0
 public IAsyncResult BeginProcessRequest(HttpContextBase context, AsyncCallback callback, object asyncState)
 {
     if ( context.Request.HttpMethod == "OPTIONS" ) {
       CometAsyncResult result = new CometAsyncResult( context, callback, asyncState );
       result.CompleteRequestWithMessages( null );
       return result;
     }
     if ( context.Request.HttpMethod == "GET" && !IsOriginAllowed( context.Request.UrlReferrer ) ) {
       context.Response.StatusCode = 403;
       CometAsyncResult result = new CometAsyncResult( context, callback, asyncState );
       result.CompleteRequestWithMessages( null );
       return result;
     }
     Message[] request = MessageConverter.FromJson(context.Request);
     CometAsyncResult asyncResult = new CometAsyncResult(context, callback, asyncState);
     GetMessageBus().HandleMessages(request, asyncResult);
     return asyncResult;
 }