Esempio n. 1
0
        protected override void OnOpened()
        {
            Microsoft.ServiceBus.Channels.EncodedVia         encodedVium        = new Microsoft.ServiceBus.Channels.EncodedVia(base.Via.AbsoluteUri);
            Microsoft.ServiceBus.Channels.EncodedContentType encodedContentType = Microsoft.ServiceBus.Channels.EncodedContentType.Create(this.settings.MessageEncoderFactory.Encoder.ContentType);
            int length = (int)Microsoft.ServiceBus.Channels.ClientSingletonEncoder.ModeBytes.Length + Microsoft.ServiceBus.Channels.ClientSingletonEncoder.CalcStartSize(encodedVium, encodedContentType);
            int num    = 0;

            if (this.upgrade == null)
            {
                num    = length;
                length = length + (int)Microsoft.ServiceBus.Channels.SessionEncoder.PreambleEndBytes.Length;
            }
            this.startBytes = Microsoft.ServiceBus.Diagnostics.DiagnosticUtility.Utility.AllocateByteArray(length);
            Buffer.BlockCopy(Microsoft.ServiceBus.Channels.ClientSingletonEncoder.ModeBytes, 0, this.startBytes, 0, (int)Microsoft.ServiceBus.Channels.ClientSingletonEncoder.ModeBytes.Length);
            Microsoft.ServiceBus.Channels.ClientSingletonEncoder.EncodeStart(this.startBytes, (int)Microsoft.ServiceBus.Channels.ClientSingletonEncoder.ModeBytes.Length, encodedVium, encodedContentType);
            if (num > 0)
            {
                Buffer.BlockCopy(Microsoft.ServiceBus.Channels.ClientSingletonEncoder.PreambleEndBytes, 0, this.startBytes, num, (int)Microsoft.ServiceBus.Channels.ClientSingletonEncoder.PreambleEndBytes.Length);
            }
            base.OnOpened();
        }
Esempio n. 2
0
        private ArraySegment <byte> CreatePreamble()
        {
            Microsoft.ServiceBus.Channels.EncodedVia         encodedVium        = new Microsoft.ServiceBus.Channels.EncodedVia(this.Via.AbsoluteUri);
            Microsoft.ServiceBus.Channels.EncodedContentType encodedContentType = Microsoft.ServiceBus.Channels.EncodedContentType.Create(base.MessageEncoder.ContentType);
            int length = (int)Microsoft.ServiceBus.Channels.ClientDuplexEncoder.ModeBytes.Length + Microsoft.ServiceBus.Channels.SessionEncoder.CalcStartSize(encodedVium, encodedContentType);
            int num    = 0;

            if (this.upgrade == null)
            {
                num    = length;
                length = length + (int)Microsoft.ServiceBus.Channels.SessionEncoder.PreambleEndBytes.Length;
            }
            byte[] numArray = Microsoft.ServiceBus.Diagnostics.DiagnosticUtility.Utility.AllocateByteArray(length);
            Buffer.BlockCopy(Microsoft.ServiceBus.Channels.ClientDuplexEncoder.ModeBytes, 0, numArray, 0, (int)Microsoft.ServiceBus.Channels.ClientDuplexEncoder.ModeBytes.Length);
            Microsoft.ServiceBus.Channels.SessionEncoder.EncodeStart(numArray, (int)Microsoft.ServiceBus.Channels.ClientDuplexEncoder.ModeBytes.Length, encodedVium, encodedContentType);
            if (num > 0)
            {
                Buffer.BlockCopy(Microsoft.ServiceBus.Channels.SessionEncoder.PreambleEndBytes, 0, numArray, num, (int)Microsoft.ServiceBus.Channels.SessionEncoder.PreambleEndBytes.Length);
            }
            return(new ArraySegment <byte>(numArray, 0, length));
        }