关于geckofx浏览器内核,一直有2个问题无法解决

oldhunter 2018-05-04 09:05:13
在项目中用到了 geckofx浏览器内核,但一直有2个问题无法解决,希望朋友可以帮一下:

问题一:geckofx 在主线程注册COM后,在子线程无法再次注册一个COM对象

注册的语句为:Xpcom.Initialize(dir); // dir 为Xpcom所在目录

即使在主线程中执行注销:Xpcom.Shutdown(),换到子线程,仍是无法注册

目前的办法比较土,就是重启一下软件进程,然后再用子线程重新 Xpcom.Initialize,再去使用。而这时,主线程又无法使用了。

问题二:geckofx 正常使用一段时间后,会出现错误:

COM 对象与其基础 RCW 分开后就不能再使用。

再次初始化一下 geckoWebBrowser 对象,就好了。
...全文
1184 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangdodo 2020-02-21
  • 打赏
  • 举报
回复
引用 2 楼 jwb7832007 的回复:
geckofx的xpcom初始化是进程内所有线程通用的,在国外论坛看到过一个帖子,说是你除非通过反射把xpcom的的私有对象设为null。 而且1楼说的好,如果你入坑还不深的话建议转CefSharp
可是wpf的中文输入法问题解决了吗?
oldhunter 2019-09-23
  • 打赏
  • 举报
回复
引用 9 楼 xiaolou_41385184 的回复:
楼主,有碰到运行一段时间后整个EXE停止工作的请况吗,我是把Geckofx45 Winform版嵌入WPF中使用的


有。现在还是存在这个问题。可能是内存释放不掉的原因。如果你解决了,告诉我一下。
xiaolou_41385184 2019-09-23
  • 打赏
  • 举报
回复
楼主,有碰到运行一段时间后整个EXE停止工作的请况吗,我是把Geckofx45 Winform版嵌入WPF中使用的
oldhunter 2019-08-29
  • 打赏
  • 举报
回复
引用 7 楼 CSDN8023 的回复:
楼主,中文乱码你是怎么处理的


举例说明一下?
CSDN8023 2019-08-28
  • 打赏
  • 举报
回复
楼主,中文乱码你是怎么处理的
橘子皮... 2018-05-14
  • 打赏
  • 举报
回复
CefSharp 也不好用啊,谁给个操作元素事件的例子来
zj_zwl 2018-05-14
  • 打赏
  • 举报
回复
引用 5 楼 wowfiowow 的回复:
CefSharp 也不好用啊,谁给个操作元素事件的例子来
可以通过js交互代码实现,亲测可行
jwb7832007 2018-05-13
  • 打赏
  • 举报
回复
引用 3 楼 oldhunter 的回复:
[quote=引用 2 楼 jwb7832007 的回复:] geckofx的xpcom初始化是进程内所有线程通用的,在国外论坛看到过一个帖子,说是你除非通过反射把xpcom的的私有对象设为null。 而且1楼说的好,如果你入坑还不深的话建议转CefSharp
非常感谢! 我已经在研究 CefSharp(以及Xilium.CefGlue)。WebKit.NET 之前试过,可参考的相关资料较少,而且这个好久没有更新了。 “在国外论坛看到过一个帖子,说是你除非通过反射把xpcom的的私有对象设为null”,方便提供一个该帖子的链接吗? [/quote] 早就忘了具体地址了。而且一般用不上,因为即便你通过反射重置了,但是你两个窗口哪怕多线程的,只要一刷新或跳转应该又会成为一个了
oldhunter 2018-05-13
  • 打赏
  • 举报
回复
引用 2 楼 jwb7832007 的回复:
geckofx的xpcom初始化是进程内所有线程通用的,在国外论坛看到过一个帖子,说是你除非通过反射把xpcom的的私有对象设为null。 而且1楼说的好,如果你入坑还不深的话建议转CefSharp
非常感谢! 我已经在研究 CefSharp(以及Xilium.CefGlue)。WebKit.NET 之前试过,可参考的相关资料较少,而且这个好久没有更新了。 “在国外论坛看到过一个帖子,说是你除非通过反射把xpcom的的私有对象设为null”,方便提供一个该帖子的链接吗?
  • 打赏
  • 举报
回复
.net调用web还是webkit好一些,应用也多,真的不建议geckofx,还不如webblower呢
jwb7832007 2018-05-05
  • 打赏
  • 举报
回复
geckofx的xpcom初始化是进程内所有线程通用的,在国外论坛看到过一个帖子,说是你除非通过反射把xpcom的的私有对象设为null。 而且1楼说的好,如果你入坑还不深的话建议转CefSharp

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧