设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 |
当前位置:首页 >> ASP技术 >> ASP技巧 >> 正文
最新信息
·ASP防止采集的代码
·文字防复制乱码
·关于ASP中的UTF8编码
·ASP精典之常用函数收集
·用正则式除去HTML标记
·ASP国际化多语言详细方案
·改进 ASP 的字符串处理性能
·ASP缓存技术
·巧用ASP技术保护DHTML源代…
·ASP读取系统时区的错误行为…
资料搜索
热点信息
·删除数组中的重复元素
·ASP中转换unicode码为GB码…
·asp得到当前页地址
·关于ASP中的UTF8编码
·判断上一页的来源
·Asp中有关字符编码转换的几…
·用正则式除去HTML标记
·ASP 三十二条精华代码
·动检测上传文件是否含有非…
·常用过滤函数
推荐信息
·ASP 三十二条精华代码
·ASP中转换unicode码为GB码…
·如何拒绝同一张表单被多次…
·常用过滤函数
·常用asp代码
·Asp中有关字符编码转换的几…
·获得上一个月几月
·计算文件下载时间
·三条语句搞定路径
·判断上一页的来源


Google
 
ASP技巧TOP 10(四)
〖编辑:Cloudy | 浏览:人次〗

9、如何更新被锁定的DLL
如果你正在使用Visual Basic COM组件,一定知道更新组件版本时候所出现的错误信息“不能更新DLL文件,访问禁止”,或许已经有好多次被它挡驾了。下面我们介绍的是一个小巧的批命令文件,你可以用它来自动启动或关闭锁定DLL文件的MTS。

   问:

   我们所用的IIS 4.0上运行着ASP和一个Visual Basic 6.0 DLL文件,DLL文件用来为ASP页面提供数据服务。问题是,当我们想要把Web服务器上的DLL升级到新的版本时,系统总是显示DLL文件正在使用中,既不能上载也不能注册这个新的DLL。我们试过关闭Web网站以及IIS,但DLL文件仍处于使用状态。唯一的办法似乎是关闭服务器。如你所知,网站运行时关闭服务器显然不太合适。你是否有解决这个问题的方法?有一个16位的工具软件WPS可以关闭DLL,然而,它不能用于VB6的DLL文件。

   答:

   不能更新DLL文件的原因在于Microsoft Transaction Server(MTS)已经打开了DLL的一个实例,必须使用mtxstop才能关闭它。首先,创建批命令文件FlushCache.bat,在文件中输入以下内容:
net stop iisadmin /y
mtxstop
net start w3svc

   运行这个批命令文件。它将在大约5秒钟内关闭Web服务器并重新启动它。在关闭和启动两个操作之间它将清除MTS缓冲,然后你就可以更新DLL文件。

   第一次运行批命令文件的时候,要注意一下其他被关闭的服务(例如FTP服务等)。写下这些被关闭的服务,然后打开批命令文件,加入代码使得这些服务也被重新启动:
net start < 服务的名字 >

   2000年06月03日,Bill Bassett提出了另外一种方法:

   有一种解决该问题的更为简单的方法,这就是配置应用使其运行在自己独立的内存空间中。运行IIS MMC,右击包含目标应用的分支,选择“属性”。在属性对话框中间的应用设置区,输入应用的名字并选中“在独立的内存空间运行”检查框。

   应用运行的时候,只要再次打开其属性页面就可以看到此时“卸载”按钮已经变为可用了。点击这个按钮应用卸载,你可以更新DLL文件。该操作并不取消DLL的注册,所以这些工作要用regsvr32手工完成。这种方法要比关闭IIS等服务再重新启动它们要好。

10、记录文件下载日志
这是一个简单但很实用的技巧,用于监测有多少用户从网站下载了文件。

   问:

   我们需要监测用户在网站上的文件下载操作。当用户点击链接下载文件时,我们希望能够运行某个ASP文件将日志数据写入SQL Server数据库,然后执行下载操作。问题是,ASP页面如何才能在记录日志数据之后再将文件下载到客户端?

   答:

   窍门在于用超级链接启动第二个“后台”脚本,用它来记录下载日志并启动下载过程。只要第二个页面不产生任何HTML输出,用户浏览器将仍旧显示第一个页面。

   下面是第一个文件中的链接示例:

   Download code.zip (不要点击这个链接,它只用于演示,没有任何实际功能。)

   以上链接由下面的代码创建:
< A HREF="dnladd.asp?filename=code.zip" >Download code.zip< /A >

   用户点击链接时我们把待下载的文件名传递给了第二个文件dnladd.asp。Dnladd.asp包含了把下载文件名字和其他信息写入数据库的脚本。完成数据库操作后,dnladd.asp用如下代码启动下载过程:
Response.ContentType = "application/x-zip-compressed"
Response.Redirect request("filename")

   注意:不要在dnladd.asp中输出任何HTML代码。


录入时间:2006-06-04 18:57:17 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2014 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号