是否可以在 IE8 浏览器帮助程序对象中使用 IPC?
我需要从浏览器帮助程序对象(在 IE8 中注册)内部使用 IPC 与服务进行通信。不幸的是,所有这些通信都是通过我无法控制的 Assembly API 完成的。每当此 API 启动时,我都会收到以下错误:
ExceptionSystem.Runtime.Remoting.RemotingException:无法连接到 IPC 端口:系统找不到指定的文件。
我意识到,如果没有根源,很难辨别问题所在。不过,我很好奇是否有人知道任何类型的权限或 DLL 问题会阻止 IPC 在这种情况下工作。
I need to communicate with a Service using IPC from inside of a Browser Helper Object (registered with IE8). Unfortunately, all of this communication is done through an Assembly API that I have no control over. Whenever this API starts up I get the following error:
ExceptionSystem.Runtime.Remoting.RemotingException: Failed to connect to an IPC Port: The system cannot find the file specified.
I realize that it is difficult to discern what the issue is without source. However I am curious if anyone knows of anything sort of permissions or DLL issues that would prevent IPC from working in this case.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来这个问题可能是由多种原因引起的。
与往常一样,UAC 可能是一个问题,应该禁用它以确保它不会引起问题。
另一个问题是 IE 为主框架和各个选项卡分配一个进程。这意味着不能保证您的 BHO 位于主框架进程中。如果设置以下注册表项,IE 将阻止浏览器分配额外的选项卡进程:
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]"TabProcGrowth"=dword:00000000
一般来说,这些解决方案都不是理想的。我最终放弃了整个尝试,因为从很多角度来看它似乎都存在很大问题。
It looks like this issue can be caused by a number of things.
UAC, as always, can be an issue and should be disabled to make sure it isn't causing problems.
The other issue is that IE allocates a process for the main frame as well as individual tabs. This means that there is no guarantee that your BHO is in the main frame process. If you set the following registry key, IE will prevent the browser from allocating extra tab processes:
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]"TabProcGrowth"=dword:00000000
In general, neither of these solutions are ideal though. I ended up backing away from this entire attempt as it seems very problematic from a number of angles.