Пример #1
0
 /// <summary>
 /// 设置进程复制重启
 /// </summary>
 private void setProcessCopy()
 {
     if (!fastCSharp.config.pub.Default.IsService && fastCSharp.config.processCopy.Default.WatcherPath != null)
     {
         try
         {
             fileWatcher = new fastCSharp.io.createFlieTimeoutWatcher(fastCSharp.config.processCopy.Default.CheckTimeoutSeconds, onFileWatcherTimeout, fastCSharp.diagnostics.processCopyServer.DefaultFileWatcherFilter);
             fileWatcher.Add(fastCSharp.config.processCopy.Default.WatcherPath);
         }
         catch (Exception error)
         {
             log.Error.Add(error, fastCSharp.config.processCopy.Default.WatcherPath, false);
         }
         threadPool.TinyPool.Start(processCopyServer.Guard);
     }
 }
Пример #2
0
 /// <summary>
 /// 设置TCP服务端
 /// </summary>
 /// <param name="tcpServer">TCP服务端</param>
 public void SetTcpServer(fastCSharp.net.tcp.server tcpServer)
 {
     server = tcpServer;
     fileWatcher = new createFlieTimeoutWatcher(fastCSharp.config.processCopy.Default.CheckTimeoutSeconds, onFileWatcherTimeout, fastCSharp.diagnostics.processCopyServer.DefaultFileWatcherFilter);
     if (!fastCSharp.config.pub.Default.IsService && fastCSharp.config.processCopy.Default.WatcherPath != null)
     {
         try
         {
             fileWatcher.Add(fastCSharp.config.processCopy.Default.WatcherPath);
         }
         catch (Exception error)
         {
             log.Error.Add(error, fastCSharp.config.processCopy.Default.WatcherPath, false);
         }
     }
     if (IsLoadCache)
     {
         try
         {
             string cacheFileName = this.cacheFileName;
             if (File.Exists(cacheFileName))
             {
                 interlocked.NoCheckCompareSetSleep0(ref loadCacheLock);
                 try
                 {
                     if (!IsLoadedCache)
                     {
                         saveInfo saveInfo = fastCSharp.emit.dataDeSerializer.DeSerialize<saveInfo>(File.ReadAllBytes(cacheFileName));
                         if (saveInfo.ForwardHost.Port != 0) setForward(saveInfo.ForwardHost);
                         if (saveInfo.Domains.length() != 0)
                         {
                             foreach (saveInfo.domainServer domain in saveInfo.Domains)
                             {
                                 try
                                 {
                                     start(domain.AssemblyPath, domain.ServerType, domain.Domains, domain.IsShareAssembly);
                                 }
                                 catch (Exception error)
                                 {
                                     log.Error.Add(error, null, false);
                                 }
                             }
                         }
                         IsLoadedCache = true;
                     }
                 }
                 finally { loadCacheLock = 0; }
             }
         }
         catch (Exception error)
         {
             log.Error.Add(error, null, false);
         }
     }
 }