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); }
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); } } }