ASP.NET作为WEB应用程序,自然会出现一些问题,有一点感想
(1)过滤输入问题
          用户的输入永远是不可想象的,何况还有恶意的输入数据出现。因此在用户输入的数据进入实际的代码使用之前应该进行响应的处理。
          a.过滤非法字符,强制长度限制以及类型检查。
          b.使用参数化存储过程,也可以起到转义单引号的作用。
(2)执行的SQL语句
          B/S结构很大的优点在于多用户可以同时使用,那么也就存在了对数据库操作的并行问题。
        a.海量数据查询时候应该使用表级锁,以免在未查询完成之前有用户做了更改操作,无法得到预期的结果
        b.更新表的一行数据时候使用行级锁,来保证更新的正确完成。
        c.更新整表数据时候应该避免有插入或者删除等事件的发生,也应该使用锁机制来保护更新操作。
(3)用户体验
          例如:WEB程序避免不了注册(或者添加新用户),增加一些信息等,这就需要唯一性验证,好比你在银行开账户不能用别人的×××号码一样,号码是唯一的,别人的证明不了你。但是在输入层次上也许也不可能知道目前存在什么信息了,只能在输入后用户提交前就告知此号码可以或者不可以使用了。如果等用户好不容易填写完那么多信息后再提交告知该用户名已经存在,用户就要修改自己的用户名,这样几次下来,基本上烦也烦死了。所以需要验证的数据输入完毕以后立刻就验证是否可以使用,这样大家都省心,要不又要捕获异常来判断。当然加了验证也是要捕获的,要不然用户就是提交重复的,你出现一个程序的错误信息,那用户又傻眼了,谁知道主键冲突是什么意思,还以为你这破程序不能用了。因此,早期的验证,良好的用户导引提示,错误信息都应该充分简单和明了。当然,提高用户体验的应用还存在很多情况。比如大页面填写要分开,必填的,选填的都要很清晰等。
(4)测试&优化
 发布前应该充分的测试,模拟合法以及非法的应用,来寻找隐藏的问题。页面的响应和负载也是一个很重要的优化因素,应该建立完整的测试和优化过程。
 
。。。。。。等等。。。。。。