• 服务器压力测试


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

  • 相关阅读:
    从‘void*’到‘int’的转换损失精度
    ../lib//libscsdblog.so: undefined reference to `pthread_atfork'
    使用Crypto++库的CBC模式实现加密
    VIM常用命令
    mysql bin-log三种模式
    windows64位Oracle安装和PL/SQL配置
    Maven项目中突然找不到Build Path或maven dependencies library
    org.springframework.beans.factory.config.MethodInvokingFactoryBean的使用
    使用Spring的StingUtils的commaDelimitedListToStringArray来获取字符串数组
    Spring注入
  • 原文地址:https://www.cnblogs.com/maanshancss/p/4645828.html
Copyright © 2020-2023  润新知