我有一个使用内置webbrowser控件的程序.在使用它的某个时刻,我不确定在什么时候,但它似乎是随机的,我得到以下错误:
System.AccessViolationException
FullText = System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
Run Code Online (Sandbox Code Playgroud)
有没有人有任何线索,为什么我会得到这个以及如何防止它?
使用IHtmlDocument2.designMode属性设置将Windows窗体表单上托管On的WebBrowser控件切换到编辑模式后,安装Microsoft Internet Explorer 9 RC后突然停止工作.
题:
有机会解决这个问题吗?
我已经尝试使用doctype或使用EmulateIE7meta标签进行调整,但没有成功.
(一个例子就是这个项目)
更新2011-02-21:
正如Eric Lawrence建议的那样,我在设置编辑模式之前调整了"Zeta"示例来设置文档文本.
不幸的是,我也没有设法切换到设计模式.
更新2011-02-24:
更新2011-02-26:
我目前所经历的是,对于HTTP URL和通过添加的内容,行为似乎有所不同WebBrowser.DocumentText.
第一次测试似乎证明了这一假设.
我现在要围绕这个假设构建解决方案,并在此发布更新和概念验证.
更新2011-02-26(2):
我现在已经构建了一个带有内置Web服务器的概念验证,我相信它也适用于IE 9.如果有人想下载并测试它是否正常工作并给我一个简短的反馈,我可以清理并发布此源代码.
更新2011-02-26(3):
还没有反馈,我仍然在代码项目中更新了HTML Edit Control文章和演示.
更新2011-03-16:
自从Internet Explorer 9于昨天发布以来,我们更新了我们的主要产品,以便使用HTML Edit Control文章中描述的集成Web服务器.
经过近一个月的测试,我认为它运作良好.
如果您使用此方法确实在将来遇到任何问题,请在此处发表您的评论,我可以进行调查和修复.