今天的工作

因为使用IIS来做remoting的HOST,而又在.net remoting中使用VB的组件,可能这个VB又会用到.NET组件,而这个.NET组件又可能会用VB或VC的组件(多是VB),这其中组件的线程模式及垃圾回收都会是引起IIS的死锁的问题,并且出于安全与维护的考量,IIS6上所有的Web应用最好还是使用单独的应用程序池比较好,而在此之前,安装程序没有做到这一点,所以需要在补丁中针对IIS6的HOST做相应的自动设置。

用程序实现并不难,用ADSI就能比较容易搞定,可惜用VC(相比于C#与VB)来高用ADSI太繁了,所以我选择了别一种办法,直接让cscript.exe来使用adsutil.vbs算了,将其它需要的参数一起给它,如下这样,同时在日志中记录返回信息,也不失这一种简易的选择吧。

adsutil.vbs CREATE W3SVC/AppPools/MyAppPool “IIsApplicationPool”

adsutil.vbs SET W3SVC/1/root/perlex/AppPoolId “MyAppPool”

建池与分配池的命令如下,很简单,记下备忘:(

然后,为了应付并发测试,在IIS上部署死锁时dump的脚本,并写好了一个在IIS被hang起时dump的批处理。然后就是一些杂七杂八的事,混完一天。

至于被抓到dump文件怎样处理?唉,只能交给MS了,让人帮忙分析,要是让我用windbg来查,岂不死人,symbols不全,再加上我的汇编与windbg的技巧也不算足够好,鬼知道要到猴年马月才能搞出来,不过以后可以学习一下这方面的知识,还是很有趣的,只是有点烦,需要很多耐心与毅力。

你可能感兴趣的:(工作,vb,vc++,IIS,VB.NET)