vb6为什么我想要无人值守执行并保留在内存集中?
14 年前,当我还是个新手时,为经典 ASP 设置组件并不在我的薪资范围内...然而现在,我已经回到了未来,我发现自己必须针对经典 ASP 项目进行维护和编码使用 COM 对象。
现在我发现自己正在查看 1999 年至 2001 年的古代文章,我想知道是否有人对为什么 COM (ActiveX .dll) 应该设置无人值守执行和保留在内存中有一个很好的答案?
我还应该注意到,该网站的当前架构是这些刚刚放到服务器上的 .dll(当然是注册的)。我想知道 COM+ 和 MTS 的情况。我们现在坚持使用经典的 ASP(长话短说)。不过,我希望能够尽快迁移到 .NET。因此,如果我可以最大限度地减少当前架构的维护时间,那将会很有帮助。您能否也给我一个我们应该使用 COM+ 和 MTS 的理由?以及添加这些功能会涉及什么。
14 years ago when I was a green horn, setting up the components for classic ASP was not in my pay grade... Now however, I have gone back to the future and I find myself having to maintain and code against a classic ASP project using a COM object.
Now I'm finding myself looking at ancient articles dated from 1999 to 2001 and I'm wondering if anyone has a good answer as to why the COM (ActiveX .dll) should have Unattended Execution and Retained in Memory set?
I should also note, that the current architecture of the site are these .dlls just dropped on the server (registered of course). I'm wondering about COM+ and MTS. We are sticking with classic ASP for now (long story). However, I'm hoping to move to .NET with the quickness. So if I can minimize the maintenance time of this current architecture that would be helpful. Can you please also give me a reason why we should use COM+ and MTS? As well as what would be involved with adding those features.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
无人值守执行会阻止您的 VB6 二进制文件显示交互式对话框,即服务器上的一个窗口,您的 Web 客户端将无法看到该窗口或与之交互。
这可能是 Msgbox() 或运行时错误弹出窗口。当标记无人值守执行时,运行时错误将记录到 Windows 事件日志中。
保留在内存中会阻止 IIS(或您的主机)立即释放您的 DLL。根据您的主机设置,DLL 将保留在内存中并重新使用。某些主机(例如IIS)会在一段时间后释放DLL。
另请参阅:您可以在最新版本的 Msvbvm60.dll 中配置“无人值守执行”选项和“保留在内存中”选项< /a>
并且:Visual Basic 6.0 ActiveX 组件的线程问题
当然,还有: Visual Basic 参考常规选项卡 (项目属性对话框)
Unattended Execution prevents your VB6 binary from showing an interactive Dialog, i.e. a window on the server that your webclient would be unable to see or interact with.
This could be a Msgbox() or a runtime error popup. When Unattended Execution is flagged, runtime errors are logged to the Windows Event Log.
Retained in memory prevents IIS (or your host) from immediately releasing your DLL. Depending on your host setup, the DLL will be retained in memory and reused. Some hosts (such as IIS) will release the DLL after some time.
See also: You can configure the Unattended Execution option and the Retained In Memory option in the latest version of Msvbvm60.dll
And: Threading issues with Visual Basic 6.0 ActiveX components
And, of course: Visual Basic Reference General Tab (Project Properties Dialog Box)