关于 IHTMLTxtRange pasteHTML 方法的疑问

文盲老顾
WEB应用领新星创作者
博客专家认证
2012-05-31 09:27:19
最近在使用 webBrowser 做一个类似编辑器的东西,功能基本上都完成,最后却发现有一个比较严重的缺陷:

当使用 pasteHTML 方法过多时,程序响应速度会急剧下降。


using mshtml;

// 初始一个 IHTMLTxtRange 对象 txtObj
IHTMLDocument2 htmlObj = (IHTMLDocument2)webBrowser1.Document.DomDocument;
txtObj = htmlObj.selection.createRange();

// 获得页面内容
txtObj.moveStart("textedit", -1);
txtObj.moveEnd("textedit", 1);
string html = txtObj.htmlText;

// 更新页面内容
txtObj.moveStart("textedit", -1);
txtObj.moveEnd("textedit", 1);
txtObj.pasteHTML(html);


在多次更新内容后,发现响应速度变的很慢,cpu占用率升高,推测可能是每次 pasteHTML 后,数据都保存在 webBrowser 的缓存里,因为只要更换所操作的文件,速度会回到最初,但再继续多次操作后,又会变慢

我在 msdn 上搜索了半天,也没找到如何释放 pasteHTML 所占用的系统资源,请各位提供一个方法或思路
...全文
73 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

111,093

社区成员

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

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

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