protected virtual void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (service != null)
         {
             service.Dispose();
             service = null;
         }
     }
 }