예제 #1
0
            private void EndAcceptMessageSessionBrowser(IAsyncResult result)
            {
                AcceptMessageSessionBrowserAsyncResult acceptMessageSessionBrowserAsyncResult = (AcceptMessageSessionBrowserAsyncResult)result;

                this.sbmpMessageSession = (SbmpBrowsableMessageSession)AcceptMessageSessionBrowserAsyncResult.End(result);
                this.SessionState       = acceptMessageSessionBrowserAsyncResult.SessionState;
            }
        private static bool OperationComplete(IAsyncResult asyncResult)
        {
            AcceptMessageSessionBrowserAsyncResult asyncState = (AcceptMessageSessionBrowserAsyncResult)asyncResult.AsyncState;
            Message message = asyncState.MessagingFactory.Channel.EndRequest(asyncResult);

            asyncState.SessionState    = message.GetBody <AcceptMessageSessionResponseCommand>().SessionState;
            asyncState.MessageReceiver = new SbmpMessageReceiver(asyncState.createLinkSettings.EntityName, false, asyncState.createLinkSettings.MessagingFactory, asyncState.createLinkSettings.MessageCreator, null, asyncState.createLinkSettings.LinkInfo, asyncState.messageSession.RetryPolicy);
            asyncState.MessageReceiver.Open();
            if (asyncState.messageSession != null)
            {
                asyncState.messageSession.InnerMessageReceiver    = asyncState.MessageReceiver;
                asyncState.messageSession.InstanceTrackingContext = asyncState.MessageReceiver.InstanceTrackingContext;
                asyncState.messageSession.PrefetchCount           = 0;
            }
            return(true);
        }
예제 #3
0
 private void EndAcceptMessageSessionBrowser(IAsyncResult result)
 {
     this.sbmpMessageSession = (SbmpBrowsableMessageSession)AcceptMessageSessionBrowserAsyncResult.End(result);
 }