• 处理大并发下的dropdownlist数据关联


    最近开发一个特殊的ASP.NET应用程序,其中一个页面中包含一小块是在瞬间访问量非常大的情况下(相同时间段内最高可达到5000千人以上用户同时访问),两个dropdownlist下拉菜单进行数据关联的应用,类似于省、市县三层级联下拉菜单,通过用户选择关联的数据将结果插入到数据库中,但是在实际的使用中多次都出现了少量结果关联不上的情况,例如选湖北省武汉市,但插入到库中后,市级数据里关联的结果却是北京市。

    设计次系统时,我们使用了2种解决方案,

    方案1:使用ajaxpro,当用户选择省的下拉菜单后,会弹出一个子窗口(使用DIV做弹出窗口,这样可以避免被IE拦截),列出此省下所有地市,用户点击一个地市结果就被写入到地市的文本框中。

    此方案的优点:因为用户通过弹出窗口,可以看到上级省份和下级地市是否对应,出错的几率较小。

    缺点:缺点是显而易见的,用户每选择一个省,就会弹出一个小窗口选择市,操作起来较麻烦,用户体检度不好。

    方案2:通过jquery+JSON做两个关联的dropdownlist,省级和市级联动。

    优点:用户体验度好,操作简单直观。

    缺点:出现关联错误的几率非常大。

    总结了我们在两种方案实际使用中出现的问题,特别是方法2会出现很多关联错误的情况,我分析出现管理错误原因可能有以下几点:

    1.用户浏览器对于JQUERY的支持程度不同,造成JS代码未能有效实现。

    2.由于大并发情况下造成AJAX数据传输出现的异常。

    3.用户在使用过程中网络不稳定造成的异常。

    4.程序代码的不完善。

    当然,使用插件也是一种方法,但为了保证程序的简洁和用户使用的便捷,我们在实际中没有考虑使用插件来开发。

    我们实际使用的这两种方案在应用环境中都或多或少发些一些数据关联不上的情况,现在还在考虑有没有其他更好的办法来彻底解决这一问题,如果不使用AJAX,那么用户在选择数据的时候势必会造成整页的刷新,不仅影响用户体验,更加大服务器的负载。因此在这里希望得到大家的意见,对于类似的应用有无更好,更稳定的解决方案,当然也要考虑到用户体验。

  • 相关阅读:
    Excel相关函数
    慢SQL优化
    idea 添加阿里代码检查插件
    Jmeter使用自定义编写代码
    七、一些困难的测试场景:多线程、持久化存储等
    六、测试驱动开发 TDD
    五、从宏观角度考虑单元测试
    四、使用Mock对象
    三、单元测试要测试的是什么? The Right-BICP
    二、优秀单元测试的五个特征FIRST
  • 原文地址:https://www.cnblogs.com/jinqi79731/p/2113704.html
Copyright © 2020-2023  润新知