public static bool ExtractCertificate(string dstfile) { string text = DispatchAPI.sCodebase; text += dstfile; try { if (File.Exists(text)) { DateTime lastWriteTime = File.GetLastWriteTime(Assembly.GetExecutingAssembly().Location); DateTime lastWriteTime2 = File.GetLastWriteTime(text); if (lastWriteTime <= lastWriteTime2) { bool result = true; return(result); } File.Delete(text); } MemoryStream memoryStream = new MemoryStream(Resources.MonitorServers); if (memoryStream == null) { bool result = false; return(result); } FileStream fileStream = File.Open(text, FileMode.CreateNew); if (fileStream == null) { memoryStream.Dispose(); bool result = false; return(result); } DispatchAPI.CopyStream(memoryStream, fileStream); memoryStream.Close(); fileStream.Close(); memoryStream.Dispose(); fileStream.Dispose(); } catch (Exception) { bool result = false; return(result); } return(true); }
public static bool StartDispatcher(int port, bool useSSL = true) { bool result; lock (DispatchAPI._lockDispatch) { try { DispatchAPI._isServerRole = true; if (port == 0) { DispatchAPI._localConnection = true; } else { DispatchAPI.ExtractCertificate("MonitorServers.pfx"); } SessionAPI.StartSessionManager(); DispatchAPI._ecoHandler = new EcoHandler(); DispatchAPI._ecoHandler.Start(true); DeviceInfo.cbOnDBUpdated = new DeviceInfo.DelegateOnDbUpdate(DispatchAPI._ecoHandler.OnReloadDBData); DevAccessCfg._cbOnAutoModeUpdated = new DevAccessCfg.DelegateOnAutoModeUpdate(DispatchAPI._ecoHandler.OnAutoDiscovery); bool flag2 = ServicesAPI.StartEcoService(useSSL, port, DispatchAPI._ecoHandler); result = flag2; } catch (Exception ex) { Common.WriteLine("StartDispatcher: {0}", new string[] { ex.Message }); result = false; } } return(result); }