|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;技能9、怎样更新被锁定的DLL
假如你正在利用VisualBasicCOM组件,必定晓得更新组件版本时分所呈现的毛病信息“不克不及更新DLL文件,会见克制”,也许已有很多多少次被它挡驾了。上面我们先容的是一个玲珑的批命令文件,你能够用它来主动启动或封闭锁定DLL文件的MTS。
问:
我们所用的IIS4.0上运转着ASP和一个VisualBasic6.0DLL文件,DLL文件用来为ASP页面供应数据服务。成绩是,当我们想要把Web服务器上的DLL晋级到新的版本时,体系老是显现DLL文件正在利用中,既不克不及上载也不克不及注册这个新的DLL。我们试过封闭Web网站和IIS,但DLL文件仍处于利用形态。独一的举措仿佛是封闭服务器。如你所知,网站运转时封闭服务器明显不太符合。你是不是有办理这个成绩的办法?有一个16位的工具软件WPS能够封闭DLL,但是,它不克不及用于VB6的DLL文件。
答:
不克不及更新DLL文件的缘故原由在于MicrosoftTransactionServer(MTS)已翻开了DLL的一个实例,必需利用mtxstop才干封闭它。起首,创立批命令文件FlushCache.bat,在文件中输出以下内容:
netstopiisadmin/y
mtxstop
netstartw3svc
运转这个批命令文件。它将在约莫5秒钟内封闭Web服务器偏重新启动它。在封闭和启动两个操纵之间它将扫除MTS缓冲,然后你就能够更新DLL文件。
第一次运转批命令文件的时分,要注重一下其他被封闭的服务(比方FTP服务等)。写下这些被封闭的服务,然后翻开批命令文件,到场代码使得这些服务也被从头启动:
netstart<服务的名字>
2000年06月03日,BillBassett提出了别的一种办法:
有一种办理该成绩的更加复杂的办法,这就是设置使用使其运转在本人自力的内存空间中。运转IISMMC,右击包括方针使用的分支,选择“属性”。在属性对话框两头的使用设置区,输出使用的名字并选中“在自力的内存空间运转”反省框。
使用运转的时分,只需再次翻开其属性页面就能够看到此时“卸载”按钮已变成可用了。点击这个按钮使用卸载,你能够更新DLL文件。该操纵其实不作废DLL的注册,以是这些事情要用regsvr32手工完成。这类办法要比封闭IIS等服务再从头启动它们要好。
10、纪录文件下载日记
这是一个复杂但很有用的技能,用于监测有几用户从网站下载了文件。
问:
我们必要监测用户在网站上的文件下载操纵。当用户点击链接下载文件时,我们但愿可以运转某个ASP文件将日记数据写进SQLServer数据库,然后实行下载操纵。成绩是,ASP页面怎样才干在纪录日记数据以后再将文件下载到客户端?
答:
秘诀在于用超等链接启动第二个“背景”剧本,用它来纪录下载日记并启动下载历程。只需第二个页面不发生任何HTML输入,用户扫瞄器将仍然显现第一个页面。
上面是第一个文件中的链接示例:
Downloadcode.zip(不要点击这个链接,它只用于演示,没有任何实践功效。)
以上链接由上面的代码创立:
<AHREF="dnladd.asp?filename=code.zip">Downloadcode.zip</A>
用户点击链接时我们把待下载的文件名传送给了第二个文件dnladd.asp。Dnladd.asp包括了把下载文件名字和其他信息写进数据库的剧本。完成数据库操纵后,dnladd.asp用以下代码启动下载历程:
Response.ContentType="application/x-zip-compressed"
Response.Redirectrequest("filename")
注重:不要在dnladd.asp中输入任何HTML代码。
</p>对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了, |
|