Я создал экземпляр ChromiumWebbrowser в модальной форме, а затем привязал объект с помощью метода JavascriptObjectRepository.Register. После закрытия формы и повторного открытия новой модальной формы и вызова метода связанного объекта я замечаю, что метод связанного объекта постепенно вызывается. Таким образом, после того, как модальное окно было открыто, закрыто, а затем повторно открыто, метод связанного объекта будет вызываться дважды, и при последующих циклах открытия/закрытия это число будет увеличиваться.
Как освободить связанный объект из CEF.
Я попытался определить, привязан ли объект уже (используя IsBound), но он возвращает false, однако он по-прежнему выполняет метод постепенно, когда форма открывается/закрывается.
ChromiumWebBrowser brwsr = new ChromiumWebBrowser("");
if (brwsr.JavascriptObjectRepository.IsBound("test"))
return;
brwsr.JavascriptObjectRepository.Register("test", [object]);
Конечно, я понимаю, что это трудно представить. Я опубликую подробный код в ближайшее время.
Возникшая проблема возникла из-за того, что связанный объект имел обработчик событий, который не был освобожден при закрытии формы, содержащей браузер cef. При последующих запусках формы связанный объект снова получит назначенный обработчик событий и вызовет возникшую проблему. Это была проблема не с cef, а с привязанным объектом, который я использовал.
Вам нужно будет предоставить подробный пример вашей проблемы, см. stackoverflow.com/help/минимально-воспроизводимый-пример Я даже не могу предположить, что вы делаете, основываясь на предоставленных вами подробностях.