protected bool Open()
 {
     if (m_LoggerClient == null)
     {
         lock (m_ObjLock)
         {
             m_LoggerCallbackInstance = new InstanceContext(m_Logger);
             m_LoggerClient = new LoggerSubscriptionServiceClient(m_LoggerCallbackInstance);
             m_LoggerClient.Open();
             m_LoggerClient.Subscribe(String.Empty);
         }
         return true;
     }
     return false;
 }
 protected bool Close()
 {
     if (m_LoggerClient != null)
     {
         if (m_LoggerClient.State == System.ServiceModel.CommunicationState.Opened)
         {
             m_LoggerClient.Close();
         }
         m_LoggerClient = null;
     }
     return false;
 }