??????? IICS项目做了也有一大半了,期间参加了一个VB.net的项目,包括期间在网上的学习,对.net技术也有了进一步的了解。回头看来IICS的架构应该还是比较合理,但还有很多可优化的地方。有些可以做到的我已经在着手修改,还有一些涉及的地方比较多,这个项目里就不一定修改了,以后设计事把这些因素考虑进去就行了。
1、项目中使用类型化DataSet(XSD)传递数据,关于使用DataSet的优缺点,可参见参考2文章。简单地说就是易于使用牺牲性能。以后如果在性能上有要求的话在显示数据的时候尽量使用 SqlDataReader,同时在使用DataSet和DataTable时尽量使用index而不是字段名取数据,为了便于程序的可读性,要建立枚举类型,通过枚举类型来传递整数
2、关于aspx.cs代码,页面显示内容尽量放在page_Prereper里编写,Page_load里只写权限判断和取protected变量,初始化等等事务
3、关于数据库,使用IDENTITY 作为主键一方面既可简化SQL语句,也可以提高查询数据(int索引要比string索引快得多)。使用存储过程代替SQL语句也可以大大提高访问速度。
4、需要拼接string时,尽量使用StringBuilder代替String。项目我已经改了很多地方。
5、尽量不要使用foreach循环,使用for循环代替,也可提高性能。
6、能不使用web控件时尽量不要使用Web控件。影响页面生成速度。合理使用ViewState
7、以后可能的话项目前期尽量写个代码生成工具(或能下载一个),减少重复代码时间
参考:
2、使用 DataSet 实现 Data Transfer Object? http://www.microsoft.com/china/MSDN/library/architecture/patterns/esp/ImpDTODataSet.mspx