Параметры для встраивания Chromium вместо элемента управления IE WebBrowser с WPF / C #
Элемент управления WPF WebBrowser на основе Internet Explorer страдает от некоторыхвопросы клавиатуры и фокуса а такжепроблемы утечки памяти, В качестве альтернативного решения этих проблем мы рассматриваем доступные варианты размещения Chromium вместо элемента управления WebBrowser в нашем проекте WPF / C #, основанном на редактировании HTML. Подобные вопросы былиспросил здесь ранее. Я прочитал ответы и провел собственное исследование,но я надеюсь получить больше отзывов от людей, которые фактически использовали любой из следующих вариантов в проектах качества производства:
Awesomium а такжеAwesomium.NET
Это выглядит очень уместно, но мне не нравится тот факт, что проект не с открытым исходным кодом, а полный исходный код не всегда легко доступен. Кроме того, это может быть излишним для нашего проекта, так как закадровый рендеринг - это не то, от чего мы действительно зависим.
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, и мы будем иметь полный контроль над этим.
Не совсем на основе хрома и не использует двигатель V8, так что на самом деле это не вариант.
Есть ли другой вариант, который я мог упустить из виду?
Я был бы очень признателен, если бы кто-то поделился своим опытом с любым из вышеперечисленных вариантов для реального проекта WPF производственного качества. Были ли у вас какие-либо последствия для интеграции, лицензирования или развертывания? Спасибо.
[EDITED] Я также хотел бы поблагодаритьartlung для того, чтобы дать этому вопросу повышение, предоставляя щедрое предложение за вознаграждение.