点缀's Blog

用.NET点缀我们的生活
随笔 - 44, 评论 - 378, 引用 - 84

导航

工具

关于

脊柱是我们这种生命的重要特征,在此基础上我们才有了光芒的智慧和丰富的情感。上帝赋予我们自由的意志,同时也赋予我们选择的重担。

标签

每月存档

广告



访客

 

秋天到了,坐在自己摩托上感觉到阵阵的凉意。
前段时间我从Web 组调往了 Win32 组,从事了一个企业软件的设计与开发的工作。现在已经正式提交客户运行了。运行状况还不错,借我朋友的一句话“没有什么消息,那本身就是一个好消息!”
就在这次开发中的问题,我做了一下总结:

1. 关于数据类型
在开发初期,我们在设计数据结构时,有一些数据使用了 float 与 double 数据类型,用来记录一些数值。刚开始还好,但到了测试阶段就出现了一些问题。当数据层提交了一个 66.6 到数据库,然后取出数据就变为 66.600000001 。 浮点数的近拟性就突示出来了,其实如果只是显示那还问题不大,但把这些数一进行运算那笑话可就大了。大家也许也能体会到在项目中期修改数据结构的痛苦:(。

但有一点还是不明白,同一张表中,同一个字段 有时 66.6 就能正确显示,而有时就只能显示为 66.60000001

所以大家在设计数据结构时,如果要进行运算的数据最好使用 decimal类型。只要预设好精度,那会非常好用。

2. Self -Update Application
应用开发完成后,更新也是非常的重要的。如果你的程序有一个 AutoUpdate 功能那是很酷的。
我们的项目主要实现方法是:
 a. 使用 IIS 站点做为 服务器端。(当然了你也可以使用 FTP 等)
 b. 使用一个 AppVersion.xml 文件来保存最新的程序信息(主要信息为 当前版本,文件列表,文件大小,以及文件完整性验证码)。(当然使用 Web Service 会更加安全)
 <?xml version="1.0" encoding="utf-8" ?>
 <SBS>
 <Ver>1688</Ver>
  <Files >
   <File FileName="File1"  size="1212121" key="8a7c5e5a6c4d2e3f2a3" ></File>
   <File FileName="File2"  size="1212121" key="8a7c5e5a6c4d2e3f2a3" ></File>
  </Files>
 </SBS>
 c. AppMain.exe 是我们程序的主要启动程序,它的主要任务是确定比较服务器端与客户端之间的版本差异,如果一致就启动应用程序。如果有新的版本出现就就下载并验证新版本文件。并启动新的版本。(AppMain.exe 要控制一下,只能让系统中有一个实例存在,不然可能会出现IO问题)
 d. 应用程序中也要添加一个查询模块,对给定的服务器定时验证版本,最好用一个独立的进程进行,性能会好一点。如果有新的版本了,那就启动AppMain.exe 程序,并退出主程序。(我们的程序有这个必要,大部分应用不会要求怎么高的。)
 e. 这样一个基本的自动更新程序就完成了。这个思想比较简单。如果你对自动更新感性趣,MS有一个 Microsoft.ApplicationBlocks.ApplicationUpdater ,你可以参考一下。

还有一些其它的,下次写吧!


随贴广告(测试期)
相关文章

打印 | 张贴于 2004-09-11 16:04:00 | Tag:C#   MS DotNET

留言反馈

re:秋收!! 数据结构与 Self-Update 编辑
秋收!! 数据结构与 Self-Updateooeess
2005-06-14 03:07:00 | [匿名用户:气味检测仪]
re:秋收!! 数据结构与 Self-Update 编辑
^_~,pretty good!csharpsseeoo
2005-05-16 22:07:00 | [匿名用户:防静电液、防静电测试]
re:秋收!! 数据结构与 Self-Update 编辑
^_^,Pretty Good!
2005-04-16 02:08:00 | [匿名用户:邵氏硬度计]
re:秋收!! 数据结构与 Self-Update 编辑
^_^,Pretty Good!
2005-04-10 19:58:00 | [匿名用户:物位变送器]
re: 秋收!! 数据结构与 Self-Update 编辑
还等着呢
2005-01-30 18:16:00 | [匿名用户:cqhydz]
re: 秋收!! 数据结构与 Self-Update 编辑
呵呵!这个我在搞一个数据库的维护的时候就发现了这个问题,那个破管理软件总是计算结果和税控等程序有“尾差”!还说是数据精度的问题,我自己写了一个程序做了一下测试:靠,TMD当初系统设计人员根本就没有认真地考虑数据类型,float型的数据精度问题太大了。如果数据库定义了字段间的计算(这个程序使用临时表计算)问题就更加突出了。会计天天找我们麻烦。我和程序开发商联系,他们说全国都没有问题怎么就你们有问题。——一点专业精神都没有,纯粹的奸商!还标榜中国什么第一什么ERP。哪个单位买了软件以后就提炼什么行业特色ERP!
2004-09-13 11:22:00 | [匿名用户:深有体会]
博客主人设置本博客不允许匿名用户发表言论,请登录后再试

Powered by: Joycode MVC Blogger System