Welcome to Rolland Town which Record fire's life.
2005年11月23日03年9月-06年9月存档

评论关闭

看来还没有老,呵呵

  通宵写代码仿佛已经是很久的事情了,昨天温习了下,感觉还不错,连续工作28个小时后终于觉得有些累了(当然包括中途吃饭的时间,呵呵)。

  学校的教师社区加网络硬盘系统基本完成了,现在已经放到服务器上,因为没有考虑到额外的一些因素,现在文件的下载等还有些路径问题需要解决。 

  整个项目是我和另外一个同事一起完成的。他主要负责教师社区那边,我就是网络硬盘这边。由于是全校性的,所以社区需要考虑的因素很多,老师的自定义主页,班级管理(区分教学班级和自然班级等),主要是提供互动性,并没有加入学籍管理等教务内容。而网络硬盘,则主要是提供校内网络存储空间,并给社区教师提供作业和课件的存储。主要考虑注册用户和匿名用户。
社区就不说了,因为从学校计科院的雏形迁移过来,而我的网络硬盘,现在已经是第三版。第一版采用ASP.NET+XML,已经做到一半的时候,被告知需要结合到教师社区,重新采用ASP开发,这个版本我偷懒了,主要是小峰帮忙。而现在这个,界面完全仿照网易的网盘,在功能上取消了网易那边每个功能都需要到新页面去的跳转,很多功能都在一个页面上完成,最多就是弹出个小窗口。
因为模仿网易的网盘,所以大致研究了下他的代码,也就是html和js了,他用jsp写的,源代码就甭想看了。可以说就js而言,他已经用得相当完满了。就说最下面的容量的统计,居然使用js写的,也给了我灵感,稍加改变同样达到了这个效果,而不是老土的用图片叠加,控制图片长度的办法。
我的实现基本不是用数据库,全部都是fso操作。当然有朋友会想到安全性问题,因为这个我牺牲了性能,采用stream方式,从非web目录读取文件信息。这样的后果就是对服务器内存占用量会相当庞大,而且上传下载都不支持断点续传。没有数据库,所以搜索考虑使用纯fso搜索(或采用IIS的全文搜索辅助),也是对服务器的考验,暂时没有实现。

  最后再说说重用ASP的感受。
1、调试很不爽,因为我把逻辑代码都封装了,所以只有实现调用才能调试。也就是不能单元测试。我在网上找到了一个ASP的调试包,但是没有说明不知道怎么使用;
2、对页面状态控制能力太差,习惯性的想!IsPostBack后实现什么,但是不行;
3、对用户输入效验,两种方式:回发服务器后验证返回,或使用jscript或者vbscript。想想ASP.NET里面的验证控件就释然了,微软贴心(也可以说让开发者白痴了)的封装了js代码到控件中,成了ASP.NET的验证控件。两种方式和升级后的ASP.NET基本一样。
4、语言支持,其实ASP支持两种脚本语言,也就是javascript和vbscript,不过用前者的人比较少,说白了也就是C系和Basic系,和ASP.NET也没有什么大分别。J#和C#都应该归结到C系去;
5、类库和控件。ASP.NET的.NET框架提供了丰富的类库,而ASP只能自己开发。当然他们都可以使用第三方控件。
6、执行方式。ASP.NET说我可以编译后执行,ASP说我是解释执行。实际上ASP执行后很多东西就在内存里面了。而我们想想为什么ASP.NET站点第一次执行会很慢呢,我想也是将很多东西放到了内存里面了。那么ASP.NET的程序快在哪里呢?(11.25新增)不知道大家是否会记得.NET多了什么?对CLR!也就是说编译实际上指编译中间代码,但是到了实际运行的时候,.NET框架会根据运行的机器的不同,再将中间代码编译。说白了就是用最适合这台机器的代码来运行。
也许还没说明白,举例:一个简单的x*y+z的运算,假设x、y、z都是16位的,用汇编来说,如果我们先将z变为32位的,那么整个运行速度就会有所提高,因为x*y结果将是32位。没有明白的学习汇编吧,这个也是我最近需要扎扎实实搞明白的。

  暂时写到这里。不对的请各位更正。

2005年11月18日03年9月-06年9月存档

评论关闭

重新使用asp的几点感触

  最近因为学校的一个基础项目“教师社区”(附带网络硬盘)的开发,我重新拾起了丢了3年多的asp。中间因为记忆的遗忘给我造成了不小的麻烦,明明我知道它可以实现,但是就是忘记了用什么去实现。

  我就负责网络硬盘这块儿,基本都使用FSO来操作。本来上个学期末在小峰帮助下都已经实现了。但是我觉得那个实现过于的简陋。加上看到网易网盘真的好看,所以就借鉴了它的界面,当然最后实现的结果和它的一样。不过在这个过程中,我总结出这样的一句话,不知道对不对——

  ASP的初学者,懂得把业务逻辑和html代码杂和在一起;
ASP的使用者,懂得把业务逻辑写成单独的类;
ASP的开发者,懂得把业务逻辑,甚至所有的代码都写成com组件。

  这样一来,调试难度逐级增加,系统灵活性到上面的第二条都是增加的,但是如果所有的代码都写到com里面去了,这个恐怕就不太好说了。

  那么我们同理可以推到ASP.NET上面——

  ASP.NET的初学者,懂得把业务逻辑写到aspx的后置代码文件中;
ASP.NET的使用者,懂得把业务逻辑写成单独的类;
ASP.NET的开发者,除了懂得第二条,还懂得按照业务需求写控件,还懂得架构,还懂得……

  也许说得不怎么在理,仅仅是一点感触。按照我自己的说法,我还是ASP的初学者。正在从ASP的初学者学习成为ASP的使用者。看来还得更加努力!

2005年11月14日03年9月-06年9月存档

评论关闭

总是有莫名其妙的问题发生在MS的程序上

  首先,把出现的问题简单描述一下——

  1、一个asp.net(采用vb.net开发)站点。开发环境是win2k server英文版+Framework SDK v1.0,发布之后的服务器运行环境是win2k server英文版+Framework SDK v1.0;
2、后来服务器升级到1.1后一切正常,开发环境也相应变为1.1;
3、最近发现一个问题,该站点所有的提交按钮在客户端浏览的时候都失效(用ie的时候无效,但是使用firefox却有效);
4、该服务器上另外的asp.net站点(采用vb.net和c#开发的都有),都使用正常;
5、现在我本机环境变为win2k pro中文版+Framework SDK v1.1。本机调试程序的时候又正常。我发布到本机,同样可以正常运行,但上传到服务就不正常;
6、服务器上其他站点配置和此站点一样。怀疑是配置问题,删除该站点,重新建立,还是不行。

  之前有听说由于aspnet_client目录导致类似问题,特地使用现在开发环境下aspnet_client目录覆盖服务器上盖站点的同名目录。结果还是不对,问题依旧。

  今天又尝试了多种办法仍然未果,怎么微软老出些莫名其妙的问题呢?记得以前用vb.net开发的时候,经常按钮无效,但是又找不到事件关联的那句代码,只有重做这页。最后找到goodidea,他也怀疑是配置文件问题,叫我覆盖aspnet_client目录。我心里捣鼓,我已经这么做了阿。忽然灵光一闪,该服务器其他站点正常啊,用其他站点的aspnet_client目录覆盖这个站点的aspnet_client目录。
说着立刻行动,结果立刻正常了。goodidea说应该是升级到1.1时客户端那个DoPostBack脚本的问题。但是之前运行正常的。只是服务器坏了修好之后我重新做了系统。

  真是莫名其妙阿!其实也是自己疏忽了一下,因为问题最开始出现我就想到过,可就差那么一点点,然后就耗费了n多的时间…………

返回顶部