Пример #1
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += new ResolveEventHandler(CurrentDomain_ReflectionOnlyAssemblyResolve);
            AppDomain.CurrentDomain.AssemblyLoad       += new AssemblyLoadEventHandler(CurrentDomain_AssemblyLoad);
            AppDomain.CurrentDomain.TypeResolve        += new ResolveEventHandler(CurrentDomain_TypeResolve);
            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            //Application.Run(new ITSolutionFrame());
            TraceClass traceClass = new TraceClass();
            var        app        = new ITSolutionFrame();
            //traceClass.ClientListener = app;
            PipeHost <TraceClass> _pipe = new PipeHost <TraceClass>("Trace", traceClass);

            _pipe.StartListen();
            Application.Run(app);
        }
Пример #2
0
 public void StartPipeWatcher(int port)
 {
     if (_host == null)
     {
         _logger.Write("代理准备连接");
         while (true)
         {
             if (!PortInUse(port))
             {
                 _logger.Write("监测到监听没有启动,准备启动监听");
                 Task task = new Task(() =>
                 {
                     _host              = new PipeHost(port);
                     _host.OnConnected += _host_OnConnected;
                     _host.Start();
                 });
                 task.Start();
             }
             //10秒钟监测一次
             Thread.Sleep(1000 * 10);
         }
     }
 }