示例#1
0
        /// <summary>
        /// Creates a new session to work on this connection
        /// </summary>
        public ISession CreateSession(AcknowledgementMode sessionAcknowledgementMode)
        {
            SessionInfo info = CreateSessionInfo(sessionAcknowledgementMode);

            SyncRequest(info, this.RequestTimeout);
            Session session = new Session(this, info, sessionAcknowledgementMode);

            // Set properties on session using parameters prefixed with "session."
            System.Collections.Specialized.StringDictionary map = URISupport.ParseQuery(this.brokerUri.Query);
            URISupport.SetProperties(session, map, "session.");

            if (IsStarted)
            {
                session.StartAsyncDelivery();
            }

            sessions.Add(session);
            return(session);
        }
示例#2
0
        /// <summary>
        /// Creates a new session to work on this connection
        /// </summary>
        public ISession CreateSession(AcknowledgementMode sessionAcknowledgementMode)
        {
            SessionInfo info = CreateSessionInfo(sessionAcknowledgementMode);

            SyncRequest(info, this.RequestTimeout);
            Session session = new Session(this, info, sessionAcknowledgementMode);

            // Set properties on session using parameters prefixed with "session."
            URISupport.CompositeData c = URISupport.parseComposite(this.brokerUri);
            URISupport.SetProperties(session, c.Parameters, "session.");

            if (IsStarted)
            {
                session.StartAsyncDelivery();
            }

            sessions.Add(session);
            return(session);
        }