vb6为什么我要无人值守执行并保留在内存集中?

| 14年前,当我还是一个绿色的号角时,为经典ASP设置组件并不属于我的薪资等级...但是,现在,我回到了未来,我发现自己不得不针对经典ASP项目进行维护和编码使用COM对象。 现在,我发现自己查看的是1999年至2001年的古老文章,我想知道是否有人对COM(ActiveX .dll)为什么应具有无人参与执行并保留在内存中有很好的答案? 我还应该注意,该站点的当前体系结构是刚刚放到服务器上的这些.dll(当然是已注册)。我想知道COM +和MTS。我们暂时仍使用经典的ASP(长篇而言)。但是,我希望能快速迁移到.NET。因此,如果我可以最小化此当前体系结构的维护时间,那将很有帮助。您能否也请给我一个为什么我们应该使用COM +和MTS的理由?以及与添加这些功能有关的内容。
已邀请:
无人参与执行会阻止您的VB6二进制文件显示交互式对话框,即Web客户端无法看到或与之交互的服务器上的窗口。 这可能是Msgbox()或运行时错误弹出窗口。标记无人参与执行时,运行时错误将记录到Windows事件日志中。 保留在内存中可防止IIS(或主机)立即释放您的DLL。根据您的主机设置,DLL将保留在内存中并重新使用。一些主机(例如IIS)将在一段时间后释放DLL。 另请参阅:您可以在最新版本的Msvbvm60.dll中配置“无人参与执行”选项和“保留在内存中”选项。 您必须打开无人值守 执行选项和保留在 编译前的内存选项 托管Microsoft Visual Basic Windows 6.0企业版 组件(Microsoft ActiveX DLL) 多线程环境,例如 微软交易服务器 (Mtx.exe),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内部的访问冲突。 客户端进入死锁状态。您可能会看到这两个症状,如果 基本ActiveX DLL托管在 多线程环境,用于 例如IIS,MTS或多线程 客户和保留在内存中 选项未启用。 并且,当然:Visual Basic参考“常规”选项卡(“项目属性”对话框) 无人参与执行表示该项目旨在运行 无需用户交互。无人值守 项目没有界面元素。 任何运行时功能,例如 通常导致用户的消息 交互被写入事件 日志。 保留在内存中将项目保留在内存中。但是,有一个 绩效成本:保留的项目 直到 进程终止。

要回复问题请先登录注册