关于 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 所占用的系统资源,请各位提供一个方法或思路
...全文
63 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,567

社区成员

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

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

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