20080711 ftp 多线程 上传
用过flashget, nettransport的都知道多线程下载速度快,效率高。那么反过来,上传是不是也支持多线程呢? 这里有个关键的地方,那就是FTP 协议里的REST命令,使得下载的时候可以由client端用多种手段对多线程下载下来的文件片段进行组合。而上传的时候,server端靠什么来组合文件片段呢? 查询了RFC959,从头到围浏览了一遍,没有关于server端组合文件的命令。 CuteFtp里明明有multi part upload的选项,这难道不是一个通用的功能么?又查了一下Globalscape的网站,有这么一段话: The COMB command is a proprietary command and is not defined nor endorsed by any FTP related RFC. However, competing servers who wish to implement this command may do so using the following syntax. 原来是Globalscape自己的产品Secure FTP Server自带的一个功能,RFC没有采用。 如此得出结论,符合FTP RFC959协议的工具并不支持多线程上传的功能。 述 FIX: Today we are shipping a hot-fix roll-up that addresses several issues that we've seen reported with VS 2008 web scenarios. 在网站( web-site )项目中,在Bin文件夹包含大量的程序集和 .refresh 文件时, Build会很慢。 总之,在使用vs2008的朋友,该补丁一定要打上,它会给IDE性能带来一定的提升。不过,目前该补丁只适用于英文版,中文版不能使用。 官方5月22发布1640最新正式版,1626的Keygen已经不能用,只好自己动手一下grin VA的Bug论坛里反映了一下,1626和1640版中文用户名Bug已有解决办法(其实早在去年10月份VA就出了个FAQ,汗啊,估计都没人看过,所以没有人解决这个问题...)。VA的符号库和配置信息默认都是保存在操作系统用户数据文件夹的,在vista下甚至还分开在两个目录,符号库在C:\Users\<USERNAME>\AppData\Local\VisualAssist\,AutoText配置文件在C:\Users\<USERNAME>\AppData \Roaming\VisualAssist\。如果能修改这个路径,重新设置为全英文的路径下面,这个问题不就迎刃而解了么?呵呵,其实很简单,打开注册表,找到HKCU\Software\Whole Tomato项,在其下新建一个UserDataDir的键,其对应的值就是你要设置的新路径,比如G:\Users\Documents\ VisualAssist\。注意设置的时候需要关闭所有IDE。这样重新打开VC,你会欣喜的发现AutoText(VA Snippets)终于能用了。不过先别急,这时候的数据库都是默认配置,需要还原为你修改过的配置,就再把VC关了,把以前用户路径下的 AutoText等几个目录拷贝到新路径下,这样数据库就跟以前一模一样了。至于符号库,那个玩意VA会自动重建,拷不拷都行。 关于该Bug的官方解答:http://www.wholetomato.com/forum/topic.asp?TOPIC_ID=7948 关于该Bug的FAQ:http://www.wholetomato.com/forum/topic.asp?TOPIC_ID=6865 数据层,业务层(也有叫逻辑层),表示层。 数据层主要是指:返回数据,不一定是和数据库打交到 业务层(逻辑层):通过webservice 调用,webservice 是负责调用逻辑层的方法,以及返回处理的数据,和操作的状态。他主要是对数据做一些处理,包括验证用户输入数据的正确性。有些数据是存放在 数据库中,或文件中,就得调用数据层 表示层就是:显示处理过的数据,或者只是提交原始的数据,比如名字,价格,什么的,不做复杂数据的处理(大部的情况),还有,验证用户输入数据的正确性 好处是程序的逻辑,结构很清楚,便于阅读,修改,维护等,便于一个团队的开发。还有,如果碰到一个比较难缠的客户,经常要变更需求,这样做就舒服多了,只要把响应层 的一些逻辑 改掉就可以了,不必将整个程序做修改。 如果你的程序是有升级的功能,只要把相应的dll 或exe 发给他就ok 了。 可以做着做着,问题就来了,有几种情况最常见: i) 查询结果如何处理。 ii) 需求变化时修改的地方反而多了。 相信仅这两点就可以让很多人信心动摇,不行我们要回忆一下业务逻辑层的好处: a) 装数据库操作,使业务逻辑与用户操作相分离。但是一般DBMS都有存储过程(Stored Procedure,SP),我可以把业务逻辑放到SP中呀,不也是和用户操作相分离么。 b) 以对象的形式提供业务方法,简化界面的调用。这个优点似乎还在,不过仅仅是为了包装成对象,方便调用,那么其实把业务对象和UI部署在一个物理节点上也可以达到这样的效果,哪我搞台App Server出来干吗? c) 使开发组内的成员各取所长,专注于自己所擅长的领域。算了吧,没几十个人的团队根本不可能分工如此细致。以笔者招聘的经验,就算是划分三层架构,还不是按模块分配工作,一位老兄从头干到底。 字体:大 中 小 |
![]() | 永久地址 http://www.shengfang.org/blog/p/20080711ftpthreadsupload.php |
![]() | 引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1235304148 |
2009年2月22日20:02星期日 [Info资料]





