Обновлено в 2020 году, у меня связал мою статью, в которой я сравниваю объем памяти при различных подходах к размещению HTML WebView в базовом настольном приложении Windows:
Элемент управления WPF WebBrowser на основе Internet Explorer страдает от некоторых проблем с клавиатурой и фокусом и проблемы с утечкой памяти. В качестве альтернативного решения этих проблем мы рассматриваем доступные варианты размещения Chromium вместо элемента управления WebBrowser в нашем проекте WPF / C # на основе редактирования HTML. Подобные вопросы задавались здесь ранее здесь. Я прочитал ответы и провел собственное исследование, но надеюсь получить больше отзывов от людей, которые действительно использовали любой из следующих вариантов в проектах производственного качества:
Это выглядит очень уместно, но мне не нравится тот факт, что у проекта нет открытого исходного кода, а полный исходный код нелегко получить. Кроме того, это может быть излишним для нашего проекта, поскольку рендеринг вне экрана - это не то, от чего мы действительно зависим.
Chromium Embedded Framework (CEF) и . NET привязки для CEF
Вероятно, это лучший вариант, доступный на данный момент. Похоже, что проект жив и активен, в настоящее время он синхронизирован с Chrome v27. CEF3 использует многопроцессорную архитектуру Chrome. Также похоже, что Adobe дает ему немного одобрение.
Первоначальной целью было создание плагина HTML5 для IE и Firefox, но на самом деле он также работает как автономный элемент управления ActiveX, так что я мог бы обернуть его для использования с WPF. Он предоставляет достаточный API для взаимодействия с внутренней веб-страницей. (onmessage, addEventListener/removeEventListener, postMessage
). Я знаю, что Google должен прекратить поддержку Chrome Frame, но Я предполагаю, что исходники останутся в репозитории Chromium. По ходу работы обновлять его до последней версии кода Chromium не составит труда, и у нас будет полный контроль над этим.
Не совсем на основе Chromium и не использует двигатель V8, так что это не вариант.
Есть ли другой вариант, который я мог упустить из виду?
Я был бы очень признателен, если бы кто-нибудь поделился своим опытом с любым из вышеперечисленных вариантов реального проекта WPF производственного качества. Были ли у вас какие-либо последствия для интеграции, лицензирования или развертывания? Спасибо.
[EDITED] Я также хотел бы поблагодарить artlung за поддержку этого вопроса, предоставив щедрое предложение щедрости.