ASP教程之Asp无组件上传带进度条(续)
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。上传|无组件几个月前,写过一篇关于Asp无组件上传带进度条的Blog,事先次要剖析了一下经由过程Web文件上传并在背景猎取剖析数据的完成道理。个中完成进度条的基本就是要完成分块猎取数据,依据分块巨细和块数纪录已上传巨细。另有一些详细的细节成绩事先并没有说分明:Q:进度信息怎样会见?
A:进度信息保留在Application中,每次上传时天生一个进度ID,依据这个进度ID能够检索Application中确当前上传进度信息。
Q:进度信息以甚么情势保留在Application中?
A:Asp太弱了,我分离试过Scripting.Dictionary和XMLDom,可是Asp中Application不克不及保留这类工具,如果asp.net就间接能够用Hashtable了。最初是在Application顶用一个ADODB.Recordset工具来保留进度相干信息。
Q:怎样包管的页面能立即反响显现进度条信息?
A:
文件开首加上<%@enablesessionstate=false%>声明来封闭会话形态
要包管禁用缓存:
Response.CacheControl="no-cache"
Response.Expires=-1
Q:能够上传多年夜文件?
A:这个和网速,服务器内存等多方面要素有关,将Server.ScriptTimeout设置充足长,那末实际上能够和服务器坚持毗连很长工夫。由于在asp中,不克不及完成对文件的“追加”写进,必需将一切待写进文件的数据都先保留在内存,如许假如上传年夜文件,那末将很占用服务器内存(文本文件可使用TextStream.Write追加写进)。在asp.net下就对照爽了,分块读取的时分,每读一块剖析一块,然后将上传文件的数据内容“追加”写进硬盘文件中,对内存占用很小很小。一样平常几十MB的文件仍是没成绩,太年夜的上传实在关于web下也不是很成心义。
写了一个对照完美的实例,能够间接下载利用:
演示下载
http://www.webuc.net/MyProject/upload/upload.rar
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 Session:这个存储跟客户端会话过程的数据,默认20分钟失效 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 掌握asp的特性而且一定要知道为什么。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
页:
[1]