private void SendKeepAliveMessage()
{
// do nothing if we have disposed or disconnected
if (Session == null)
return;
// do not send multiple keep-alive messages concurrently
if (Monitor.TryEnter(_keepAliveLock))
{
try
{
Session.TrySendMessage(new IgnoreMessage());
}
finally
{
Monitor.Exit(_keepAliveLock);
}
}
}