最近在用asp的一些经验

 
1。Asp文件里最好不要出现非英文字符,否则当应用程序在其它语言服务上运行时会因为编码问题导致不可预知的错误,代码里有中文注解,到日文服务上运行就变成乱码,乱码可能会和双引号合并成为新字符导致字符串找不到结束标记,同样的错误在asp.net的aspx文件里也经常出现,如果aspx页面里出现定义字体的属性为“宋体”的时候,就会和双引号合并未新字符串,从而导致页面排版混乱。
 
2。windows2003无法解析asp页面,返回404错误。原因是iis安装后默认是不启动asp解析功能的,打开解析功能的方法:控制面板-》高级工具-》IIS管理-》IIS扩展
 
3。asp上传文件大小被限止在200K的解决方案:
 
在IIS属性中选中“允许直接编辑配置数据库”
net stop iisadmin
WINDOWS/system32/inetsrv下的metabase.xml
AspMaxRequestEntityAllowed把他修改为需要的值,默认为204800,即200K 把它修改为51200000(50M)或者更大
如果找不到,可以在 <IIsWebService     Location ="/LM/W3SVC" ... 里添加
net start iisadmin
在IIS属性中取消“允许直接编辑配置数据库”     --好像不是必须的
 
4。经验3虽然可以修改iis的上传大小限止,但是这个只适用于有权限修改服务器设置的情况下实现。如果不能修改,则需要修改asp上传页面的后台代码,在进行 Request.BinaryRead(Size) 的时候size不要设置为 Request.TotalBytes ,而是固定大小 200k以内,建议使用10K。分块读取完成后再进行连接成一个完整的文件。
FormSize = Request.TotalBytes
size2 = FormSize
writelog("FormSize:" & FormSize)
'FormData = Request.BinaryRead(FormSize)
 
Dim MaxRead
Dim SourceData
MaxRead = 10000
If MaxRead > FormSize Then
       FormData = Request.BinaryRead(FormSize)
Else
       Set SourceData = Server.CreateObject("Adodb.Stream")
       SourceData.Open
       SourceData.Type = 1
       Do While FormSize > 0
              FormData = Request.BinaryRead(MaxRead)
              SourceData.Write FormData
              FormSize = FormSize - MaxRead
       Loop
       writelog("len::::" & SourceData.Size)
       SourceData.Position = 0
       FormData = SourceData.Read
       writelog("len:::" & lenb(FormData))
       SourceData.Close
End if
 
FormSize = size2
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值