예제 #1
0
        void _w_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            TestIcsAsynReturn _data = e.UserState as TestIcsAsynReturn;

            AllReturnList.Add(_data);
            string _msg = string.Format("完成第{0}次测试,用时{1} ms", _data.Index, _data.UsedTimes);

            this.te_Result.AppendText(_msg + "\r\n");
        }
예제 #2
0
        void _w_DoWork(object sender, DoWorkEventArgs e)
        {
            int _threadIndex         = (int)e.Argument;
            BackgroundWorker _worker = sender as BackgroundWorker;
            int _currentTimes        = RunTimes--;

            while (_currentTimes > 0)
            {
                Random ran     = new Random();
                int    RandKey = ran.Next(0, CSCount);
                string _cs     = CSDataList[RandKey];
                List <MD_GuideLineSimpleParam> _plist = new List <MD_GuideLineSimpleParam>();
                foreach (string _s in _cs.Split(','))
                {
                    string[] _s1 = _s.Split('=');
                    if (_s1.Count() > 1)
                    {
                        MD_GuideLineSimpleParam _p = new MD_GuideLineSimpleParam();
                        _p.ParameterName  = _s1[0];
                        _p.ParameterValue = _s1[1];
                        _plist.Add(_p);
                    }
                }
                string _xmlData = DataConvert.Serializer(typeof(List <MD_GuideLineSimpleParam>), _plist);
                int    _ctime   = Environment.TickCount;
                string _ret     = DoTestICS(_xmlData);
                int    _useTime = Environment.TickCount - _ctime;

                TestIcsAsynReturn _r = new TestIcsAsynReturn();
                _r.Index      = AllTimes - _currentTimes;
                _r.CallData   = _cs;
                _r.ReturnData = _ret;
                _r.UsedTimes  = _useTime;

                _worker.ReportProgress(0, _r);

                _currentTimes = RunTimes--;
            }
            e.Result = _threadIndex;
        }