我正在使用DotNetBrowser,或者至少尝试使用,并且我正在尝试获取文档中的所有复选框。
public static void SetCodecSettings()
{
var waitEvent = new ManualResetEvent(false);
_mf.Browser.FinishLoadingFrameEvent += delegate(object sender, FinishLoadingEventArgs e)
{
if (e.IsMainFrame)
{
waitEvent.Set();
var doc = _mf.Browser.GetDocument();
var html = _mf.Browser.GetHTML();
var checkBoxes = doc.GetElementsByTagName("input");
}
};
_mf.Browser.LoadURL(_mf.PattonDeviceUrl + "/codecset.htm");
waitEvent.WaitOne();
}当我放入一个断点,以便检查checkBoxes中的所有内容时,在调试器中展开checkBoxes时会得到以下错误:

我不想关闭属性评估,因为我想检查该项的内容。关于如何纠正这个问题,有什么建议吗?
发布于 2017-10-19 05:26:15
铬引擎在一个单独的过程中运行。DotNetBrowser库使用多个线程在Chromium和.NET端之间交换数据。几乎任何评估都涉及IPC,因为DotNetBrowser本身不执行任何数据缓存。
当Visual在某个断点停止应用程序时,一些DotNetBrowser线程将被暂停。在这种情况下,库无法从Chromium获取数据和处理请求。这就是为什么不能在调试器中计算表达式的原因。
这个问题在调试多进程应用程序时很常见,不仅仅是DotNetBrowser。作为解决办法,您可以使用日志在运行时显示所需的数据。
以下文章解释了所观察到的行为:
https://stackoverflow.com/questions/46801826
复制相似问题