Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            List <XmlTestData> tests = new List <XmlTestData>()
            {
                new XmlTestData()
                {
                    ClassName = "CalcServer.Toolboxes.MathToolbox", ClassVersion = "1.0.0.0", FunctionName = "MinMax", DataToProcess = GenerateRandomNumbersList(5, 100)
                },
                new XmlTestData()
                {
                    ClassName = "CalcServer.Toolboxes.MathToolbox", ClassVersion = "1.0.0.0", FunctionName = "MinMaxIdx", DataToProcess = GenerateRandomNumbersList(5, 100)
                },
                new XmlTestData()
                {
                    ClassName = "CalcServer.Toolboxes.StatisticsToolbox", ClassVersion = "1.0.0.0", FunctionName = "MeanStdDev", DataToProcess = GenerateRandomNumbersList(5, 100)
                },
                new XmlTestData()
                {
                    ClassName = "CalcServer.Toolboxes.StatisticsToolbox", ClassVersion = "1.0.0.0", FunctionName = "WordsCount", DataToProcess = "a test string"
                }
            };

            for (int i = 0; i < tests.Count; i++)
            {
                string taskDataStr = tests[i].ToString();
                Console.WriteLine(taskDataStr);

                new Thread(() =>
                {
                    string taskDataName = string.Format("TaskData-{0}", i);

                    Console.WriteLine(Environment.NewLine + taskDataName);

                    TaskExecution te             = new TaskExecution("http://localhost:9001/ProcessingService/", TimeSpan.FromSeconds(1));
                    te.OnTaskExecutionCompleted += new TaskExecutionCompletedHandler(te_OnTaskExecutionCompleted);
                    te.OnTaskExecutionProgress  += new TaskExecutionProgressHandler(te_OnTaskExecutionProgress);

                    te.SetTaskData(taskDataName, taskDataStr);
                    te.Start();
                }
                           )
                {
                    IsBackground = true
                }.Start();

                mre.WaitOne();

                Thread.Sleep(2000);
                Console.WriteLine(Environment.NewLine + "==========" + Environment.NewLine);

                mre.Reset();
            }

            Console.WriteLine("Premere <Invio> per terminare l'applicazione...");
            Console.ReadLine();
        }