服务器压力测试

1.基础信息: 数据库配置和Socket 服务配置,模块选择以及 模拟数量配置

2.关于终端信息更改如何更新到UI上面

把终端信息给观察者集合,把观察者集合赋值给UIItem,XAML 需要绑定对应的字段

每一行代表一个终端信息

另外 终端类必须继承属性变更通知 INotifyPropertyChanged 接口

ObservableCollection,首先它是一个集合,但它是一个既实现了INotifyPropertyChanged接口又实现了INotifyCollectionChanged接口的集合,这是它与List<T>的不同之处

http://www.cnblogs.com/luacloud/archive/2011/12/13/2285981.html

http://www.cnblogs.com/Jax/archive/2009/10/13/1582128.html

3.根据下拉框中不同的选项  调用不同的类

for 循环 调用Parking,把没一行数据转换为参数传入进去,开启Start方法

4.Start 方法,一个通用的任务类,只有当所有设备全部 启动的时候 才进行TagA 里面的方法

System.Threading.Tasks.Task task = new System.Threading.Tasks.Task(new Action(() =>
            {           
                MainWindow.Myindow.UpTaskCount();
                bool bStartAll = false;
                while (!bStartAll)
                {
                    //当全部任务类准备好的时候一次性并发开始  如果有掉线的  会重新启动 这种方法会导致长时间 没有心跳
                    bStartAll = MainWindow.Myindow.StartTaskCount >= MainWindow.Myindow.PlanStartTaskCount;
                    if (bStartAll)
                    {
//TagA
//初始化SocketClient
   terminalInfo.XinTiaoNoResponseCount = 0;
                        isSetTimeOver = false;
                        socketClient = new SocketClient(ipAddress, port);
                        socketClient.SocketReceice += new SocketProcHandler(socketClient_SocketReceice);
                        socketClient.SocketColse += new EventHandler(socketClient_SocketColse);
                        bool bConnect = false;
                        while (!bConnect)
                        {
                            if (cts.IsCancellationRequested)
                            {
                                break;
                            }
                            if (closeCts.IsCancellationRequested)
                            {
                                break;
                            }

                            bConnect = socketClient.Connect();
                            if (bConnect)
                            {
                                //开始终端机任务
                                DoTerminalTask();
                            }
                            else
                            {
                                ShowSendData("连接失败。");
                                BaseFun.WaitTime(1 * 1000);
                            }
                        }
} }
else { BaseFun.WaitTime(500); } } }), TaskCreationOptions.LongRunning); task.Start();

原文地址:https://www.cnblogs.com/maanshancss/p/4645828.html