示例#1
0
文件: Program.cs 项目: labeuze/source
        //static int Main(string[] args)
        static void Main()
        {
            try
            {
                Trace.CurrentTrace.SetLogFile("log.txt", LogOptions.None);

                XmlConfig config = new XmlConfig();
                FormatInfo.SetInvariantCulture();
                Application.CurrentCulture = FormatInfo.CurrentFormat.CurrentCulture;
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                RemoteRunSource remoteRunSource = new RemoteRunSource();
                remoteRunSource.RunsourceDllFilename = config.GetExplicit("RunsourceDllFilename");
                remoteRunSource.RunsourceClassName = config.GetExplicit("RunsourceClassName");
                //remoteRunSource.CreateRunSourceDomain = config.Get("CreateRunSourceDomain").zTryParseAs<bool>(true);
                // attention si CreateRunSourceDomain = true runsource.launch.exe ne peut pas mettre à jour runsource.runsourced32.exe
                remoteRunSource.CreateRunSourceDomain = config.Get("CreateRunSourceDomain").zTryParseAs<bool>(false);
                RunSourceForm form = new RunSourceForm(remoteRunSource.GetRunSource(), config, GetRunSourceRestartParameters());

                //form.UpdateRunsourceFiles += FormUpdateRunsourceFiles;
                form.SetRestartRunsource += FormSetRestartRunsource;
                Application.Run(form);
                //if (_projectFiles != null)
                SetRunSourceUpdateAndRestartParameters();

                //if (_updateProgram)
                //{
                //    _updateProgram = false;
                //    return 1;
                //}
                //else
                //    return 0;
            }
            catch (Exception ex)
            {
                zerrf.ErrorMessageBox(ex);
                //return 0;
            }
        }
示例#2
0
        //private static bool _selectTreeViewResult = false;  // true si il faut sélectionner le résultat du TreeView

        static void Main()
        {
            Console.WriteLine("Test_AppDomain_08 : test runsource.dll");
            AppDomain domain = AppDomain.CreateDomain("New Domain");

            //Console.WriteLine("set initial lease time to 10 sec");
            //LifetimeServices.LeaseTime = TimeSpan.FromSeconds(10);  // This is the InitialLeaseTime property
            //Console.WriteLine();

            DateTime dt1 = DateTime.Now;

            //IRunSource rs = (IRunSource)domain.CreateInstanceFromAndUnwrap("runsource.dll", "pb.RunSource");
            //Console.WriteLine("{0:HH:mm:ss} create object pb.RunSource", dt1);

            Console.WriteLine("{0:HH:mm:ss} create object RemoteRunSource", dt1);
            Console.WriteLine();
            RemoteRunSource remoteRunSource = new RemoteRunSource();

            _runSource = remoteRunSource.GetRunSource();
            _runSource.SetRunSourceConfig(@"c:\pib\prog\tools\runsource\runsource32_config.xml");
            //_runSource.Trace.Writed += new WritedEvent(EventWrited);
            Trace.CurrentTrace.SetViewer(EventWrited);
            _runSource.DisableMessageChanged  += new DisableMessageChangedEvent(EventDisableMessageChanged);
            _runSource.GridResultSetDataTable += new SetDataTableEvent(EventGridResultSetDataTable);
            _runSource.GridResultSetDataSet   += new SetDataSetEvent(EventGridResultSetDataSet);
            //_runSource.TreeViewResultAdd += new TreeViewResultAddEvent(EventTreeViewResultAdd);
            //_runSource.TreeViewResultSelect += new TreeViewResultSelectEvent(EventTreeViewResultSelect);
            _runSource.ErrorResultSet += new SetDataTableEvent(EventErrorResultSet);
            _runSource.ProgressChange += new ProgressChangeEvent(EventProgressChange);
            _runSource.EndRunCode     += new EndRunEvent(EventEndRun);


            DateTime dt2;
            string   s = "RunSource.CurrentDomainRunSource.Trace.WriteLine(DateTime.Now.ToString());";

            dt2 = DateTime.Now;
            Console.WriteLine("{0:HH:mm:ss}-{1} execute : {2}", dt2, TimeSpanToString(dt2.Subtract(dt1)), s);
            _runSource.RunCode(s);
            while (_runSource.IsRunning())
            {
                Thread.Sleep(100);
            }

            //Console.WriteLine("wait 15 sec");
            //Thread.Sleep(15000);
            //dt2 = DateTime.Now;
            //Console.WriteLine("{0:HH:mm:ss}-{1} test_03.GetMessage() : {2}", dt2, TimeSpanToString(dt2.Subtract(dt1)), test03.GetMessage());

            //Console.WriteLine("wait 2 min");
            //Thread.Sleep(120000);
            //dt2 = DateTime.Now;
            //Console.WriteLine("{0:HH:mm:ss}-{1} test_03.GetMessage() : {2}", dt2, TimeSpanToString(dt2.Subtract(dt1)), test03.GetMessage());

            Console.WriteLine("wait 6 min");
            Thread.Sleep(360000);
            //Console.WriteLine("wait 10 min");
            //Thread.Sleep(600000);
            //Console.WriteLine("wait 15 min");
            //Thread.Sleep(900000);
            //Console.WriteLine("wait 30 min");
            //Thread.Sleep(1800000);
            //Console.WriteLine("wait 2h");
            //Thread.Sleep(7200000);
            dt2 = DateTime.Now;
            Console.WriteLine("{0:HH:mm:ss}-{1} execute : {2}", dt2, TimeSpanToString(dt2.Subtract(dt1)), s);
            _runSource.RunCode(s);
            while (_runSource.IsRunning())
            {
                Thread.Sleep(100);
            }


            //for (int i = 0; i < 500; i++)
            //{
            //    Thread.Sleep(1000);
            //    DateTime dt2 = DateTime.Now;
            //    Console.WriteLine("{0,6} {1:HH:mm:ss}-{2} test_03.GetMessage() : {3}", i + 1, dt2, TimeSpanToString(dt2.Subtract(dt1)), test03.GetMessage());
            //}

            AppDomain.Unload(domain);
        }