web*_*ad3 1 vb6 activex com+ mts
14年前,当我是一个绿色的角,设置经典ASP的组件不是我的薪水等级...现在,我已经回到未来,我发现自己必须维护和编码经典的ASP项目使用COM对象.
现在我发现自己正在查看1999年到2001年的古代文章,我想知道是否有人对COM(ActiveX .dll)应该具有无人值守执行和保留在内存集中的原因有一个很好的答案?
我还应该注意,网站的当前架构是这些.dll刚刚丢弃在服务器上(当然注册).我想知道COM +和MTS.我们现在坚持使用经典ASP(长篇故事).但是,我希望能够快速地转向.NET.因此,如果我可以最大限度地减少当前架构的维护时间,那将是有帮助的.能否请你告诉我为什么要使用COM +和MTS?以及添加这些功能所涉及的内容.
无人参与执行可防止您的VB6二进制文件显示交互式对话框,即Webclient无法查看或与之交互的服务器上的窗口.
这可能是Msgbox()或运行时错误弹出窗口.当无人参与的执行被标记,运行时错误记录到Windows事件日志.
保留在内存中可防止IIS(或您的主机)立即释放您的DLL.根据您的主机设置,DLL将保留在内存中并重复使用.某些主机(如IIS)将在一段时间后释放DLL.
另请参阅:您可以在最新版本的Msvbvm60.dll中配置"无人参与执行"选项和"保留在内存中"选项
您必须在编译之前打开无人参与执行选项和保留在内存中选项,以在多线程环境(如Microsoft Transaction Server(Mtx.exe))中承载Microsoft Visual Basic企业版for Windows 6.0组件(Microsoft ActiveX DLL) ,Internet信息服务(Inetinfo.exe),COM +(Dllhost.exe)和Microsoft SQL Server 7.0或SQL Server 2000(Sqlservr.exe).但是,您可能不知道组件是否将在此类环境中使用,或者您可能忘记打开"无人参与执行"选项和"保留在内存中"选项.为解决此问题,最新版本的Visual Basic运行时(Msvbvm60.dll)引入了一项新功能,允许您在运行时打开"无人参与执行"选项和"保留在内存中"选项.
并且:Visual Basic 6.0 ActiveX组件的线程问题
- MSVBVM60.DLL中的访问冲突.
- 客户端进入死锁状态.如果Visual Basic ActiveX DLL托管在多线程环境中(例如,IIS,MTS或多线程客户端),并且未启用"保留内存"选项,则可能会看到这两种症状.
当然还有:Visual Basic参考常规选项卡(项目属性对话框)
无人参与执行表示项目无需用户交互即可运行.无人参与的项目没有界面元素.任何运行时函数(例如通常导致用户交互的消息)都将写入事件日志.
保留在内存中保留内存中的项目.但是,存在性能成本:在进程终止之前,不会卸载保留在内存中的项目.
归档时间: |
|
查看次数: |
2986 次 |
最近记录: |