private int GetOverheadSize() { long length = (long)0; using (MemoryStream memoryStream = new MemoryStream(1024)) { BrokeredMessage brokeredMessage = new BrokeredMessage(); BrokeredMessage brokeredMessage1 = new BrokeredMessage(); SendCommand sendCommand = new SendCommand(); BrokeredMessage[] brokeredMessageArray = new BrokeredMessage[] { brokeredMessage, brokeredMessage1 }; sendCommand.Messages = new MessageCollection(brokeredMessageArray); sendCommand.Timeout = TimeSpan.MaxValue; sendCommand.TransactionId = new string('A', 32); SendCommand sendCommand1 = sendCommand; RequestInfo requestInfo = new RequestInfo() { ServerTimeout = new TimeSpan?(sendCommand1.Timeout), OperationTimeout = new TimeSpan?(sendCommand1.Timeout), MessageId = Guid.NewGuid().ToString(), SessionId = Guid.NewGuid().ToString(), PartitionKey = Guid.NewGuid().ToString(), ViaPartitionKey = Guid.NewGuid().ToString(), TransactionId = Guid.NewGuid().ToString(), Destination = Guid.NewGuid().ToString() }; RequestInfo requestInfo1 = requestInfo; using (Message message = this.MessageCreator.CreateWcfMessage("http://schemas.microsoft.com/netservices/2011/06/servicebus/SbmpMessageSender/Send", sendCommand1, null, base.RetryPolicy, TrackingContext.GetInstance(Guid.NewGuid(), null), requestInfo1)) { (new BinaryMessageEncodingBindingElement()).CreateMessageEncoderFactory().Encoder.WriteMessage(message, memoryStream); } memoryStream.Flush(); length = memoryStream.Length; length = length - (brokeredMessage.Size + brokeredMessage1.Size); length = length + (long)512; brokeredMessage.Dispose(); brokeredMessage1.Dispose(); } return((int)length); }
protected override Message CreateWcfMessage() { string localIdentifier; Transaction transaction = base.Transaction; SendCommand sendCommand = new SendCommand() { Messages = MessageCollection.Wrap(this.messages), Timeout = base.RemainingTime() }; SendCommand sendCommand1 = sendCommand; if (transaction != null) { localIdentifier = transaction.TransactionInformation.LocalIdentifier; } else { localIdentifier = null; } sendCommand1.TransactionId = localIdentifier; SendCommand sendCommand2 = sendCommand; RequestInfo requestInfo = new RequestInfo() { ServerTimeout = new TimeSpan?(sendCommand2.Timeout), TransactionId = sendCommand2.TransactionId }; RequestInfo requestInfo1 = requestInfo; this.messageSender.AddRequestInfoHeader(requestInfo1, this.messages); if (this.trackingContext != null) { SbmpMessageSender.TraceSend(this.relatedActivity, this.trackingContext, this.messages); } Message message = base.MessageCreator.CreateWcfMessage("http://schemas.microsoft.com/netservices/2011/06/servicebus/SbmpMessageSender/Send", sendCommand2, null, this.messageSender.RetryPolicy, this.trackingContext, requestInfo1); return(message); }