【程序发布】发布那点事儿

      按理说自己已经发布了过了考试系统,自己的机房收费系统,B/S的打包,C/S的iis发布,实在不用再单独开一篇博客说发布了,不过随着学习的深入,新的知识总是有的,下面就讲一下自己这次又学习到了什么。


      一、条理清晰


      这里说的条理清晰分两个方面,第一是指发布的过程中,应该将各个步骤牢记于心,万万不可缺斤少两,发布粗心忘了某一步的弥补措施还不如全都推翻重来,咱们现在在内网的发布,步骤都是很简单的几步,另外因为服务器的不同,步骤也有些不同,不过大概分为两种类型:winserver2003的iis6和以后的iis7和8,两种各有优缺点,此处就不赘述,两种发布方法都很简略,而且大致步骤是相同的,所以并没有什么难处,只需要细心一般就没有什么问题。


      另一方面是指发布的时候需要对每一个发布的版本的命名做好明确的区分,因为有时候我们是边测试边发布边改代码的,这就会导致有很多版的代码,很多版本的发布文件,这时候,没有经验,或者说还没有养成好习惯的我们就会这样命名:比如我们发布一个评教系统,那么我们很可能第一个版本会命名:评教系统,第二个版本会命名:新评教系统,好了,第三个版本难道命名成:新新评教系统?no,人民的智慧是无穷的:评教系统新。如此这般,发布上五六次,自己都找不到自己刚发布的版本在哪里了。所以我们进行命名的时候,要按照一定的规范来命名,比如,评教系统-2015年12月27日-001,或者再加上简短的描述词语,这样,我们就不至于想要找到最新发布的系统,还每个都登录看看了。


      二、尽量减少在服务器上改代码


      为什么会这么说呢?因为大部分的服务器上都不会装IDE,这就导致如果我们在服务器上改代码,只能使用文本文档来编辑,可想而知,这有多么的容易出错,一个标点符号,一个换行,都有可能导致我们的代码出现问题。


      三、多多对比


      下面来讲一讲我们这段时间去一中发布评教系统出现的一些问题,首先说明一下,一中的服务器是winserver2003的。第一次去,发布的很顺利,网站正常运行,各项功能也都很正常,我们给一中的老师演示完以后,老师提了几点要求,希望我们进行改进,本着全心全意为人民服务的精神,我们肯定是回来改啦,改完以后,功能更加完善,我们又去给重新发布,发布完成后,我们就离开了服务器所在的屋子,给老师演示去了,这个时候,问题来了,有一个设置互评信息的页面显示一切正常,但是点击确定不能设置评分,一开始我们以为是代码的问题,就在我们携带的开发电脑上测试,但是最让人无语的是,在这个电脑上一切正常,一切正常!接着我们又怀疑是连接数据库的字符串没写对,但是四个人轮番上阵检查了好几遍实在是找不出来错误,然后折腾了一个多小时,人家老师都下班了,我们只好打道回府,回公司继续检查自己的代码,然后我和组长两个人带着最新测试好的代码又去了一趟,神奇的一幕出现了,同样的代码,在自己电脑上正常,在公司的服务器上正常,一到人家的电脑上,就呵呵哒了,一切正常手段都不能行了,我们开始推理,第一次正常的发布和第二次不能用的发布之间,我们到底改了什么东西?把一切无关紧要的东西排除以后,有两点:第一,第一次发布的时候,我们的代码还没有架到SVN上,但是第二次我们的代码是用了SVN的。第二,第一次发布好回来改以后,我对设置评分这个界面调用的B层代码加了几行注释,只是加了注释,代码一分钱的都没动啊!


      大家一致认为第一条比较可疑,这时候提出了第一种解决方案:将当时发布正常的代码拷回去,然后在这份代码的基础上优化好,优化好以后,我们通过远程将这份代码发布到了一中的服务器上,然后,让我们崩溃的是,点了确定,整个界面一点反应都木有!!!一开始我还很镇定呢,这下我是真慌了,又折腾了一下午, 无果,于是提出第二种方案:大家去找一台winserver2003,看看问题能不能复现,于是找了一台,结果也是这个错误,当这台也提交不了的时候,我还是舒了一口气的,只要问题能复现,那就说明不是偶然发生的,肯定能被解决啊,于是继续改,结果改了半天,还是不行,于是我改写了B层的方法,用另一种方法来进行添加,结果成功了!知道这段代码能运行就好,于是继续努力,我一直觉得有可能是我的注释影响了代码,而且原代码的效率比现在的添加方法效率高了多少倍,能挽救我还是想抢救一下的,于是将注释删除干净,发布,测试,竟然通过了!


       折腾了两三天的问题,竟然是因为代码的注释!我们都很无语,按照常理理解,注释是不可能影响到代码的正常运行的,但是事实证明,在某些特定条件下,比如winserver2003,注释是真的导致了代码不能用的问题。其中的具体原理我还没有研究清楚,不过通过这件事,也给大家提一个醒吧。


       一中算是个小系统,不过这个小系统的发布,也把我们四个哒活人折腾的够呛,而发布,更是一个系统能不能上线的最后步骤了,所以,发布虽然简单,也要引起我们的重视啊。

你可能感兴趣的:(总结,C#,发布,总结)