private void Dispose(bool disposing) { // Check to see if Dispose has already been called. if (!this.disposed) { if (disposing) { Log("WhckRoaming : Cleaning up"); DeleteProfiles(); if (echoClient != null) { Log("WhckRoaming : Cleaning up Echo Client"); echoClient.Close(); echoClient = null; } if (null != Api) { Api.Dispose(); Api = null; } if (null != AC) { if (routers != null && routers.Count == 2) { Log("WhckRoaming: Cleaning up static route from AP server to router"); AC.ClearStaticRoute(routers[0]); } Log("WhckRoaming : Cleaning up stopping radius server"); AC.StopRadiusServer(); Log("WhckRoaming : Cleaning up stopping Echo server"); AC.StopEchoServer(); // Service checks if echo server was running or not AC.Dispose(); AC = null; } // TODO Dispose here } } disposed = true; }