private void BeginPublish()
{
PublishCallbackData callbackData = new PublishCallbackData();
callbackData.Session = Session;
callbackData.Acknowledgements = GetAcknowledgements();
callbackData.Timestamp = DateTime.UtcNow;
Interlocked.Increment(ref m_outstandingPublishRequests);
ThreadPool.QueueUserWorkItem(OnPublishComplete, callbackData);
}