Optionen zum Einbetten von Chromium anstelle des IE-WebBrowser-Steuerelements mit WPF / C #
Das auf Internet Explorer basierende WPF-WebBrowser-Steuerelement leidet unter einigen ProblemenTastatur- und Fokusprobleme undProbleme mit Speicherverlusten. Als alternative Lösung für diese Probleme prüfen wir in unserem WPF / C # -Projekt, das auf HTML-Bearbeitung basiert, die verfügbaren Optionen zum Hosten von Chromium anstelle der WebBrowser-Steuerung. Ähnliche Fragen wurdenfragte hier vorher. Ich habe die Antworten gelesen und meine eigenen Nachforschungen angestellt.Ich hoffe jedoch, noch mehr Feedback von Leuten zu erhalten, die tatsächlich eine der folgenden Optionen in Projekten mit Produktionsqualität verwendet haben:
Es sieht sehr passend aus, aber mir gefällt die Tatsache nicht, dass das Projekt nicht Open Source ist und der vollständige Quellcode nicht einfach verfügbar ist. Es könnte auch ein Overkill für unser Projekt sein, da das Rendern außerhalb des Bildschirms nichts ist, worauf wir wirklich angewiesen sind.
Chromium Embedded Framework (CEF) und.NET-Bindungen für CEF
Dies ist wahrscheinlich die beste derzeit verfügbare Option. Das Projekt scheint lebendig und aktiv zu sein und ist derzeit mit Chrome v27 synchronisiert. CEF3 verwendet die Chrome-Multiprozessarchitektur. Es sieht auch so aus, als würde es Adobe gebeneine gewisse Unterstützung.
Während der ursprüngliche Zweck darin bestand, ein HTML5-Plugin für IE und Firefox zu sein, funktioniert es tatsächlich auch als eigenständiges ActiveX-Steuerelement, sodass ich es für die Verwendung mit WPF einpacken konnte. Es macht aausreichende API für die Interaktion mit der inneren Webseite (onmessage, addEventListener/removeEventListener, postMessage
). Mir ist bewusst, dass Google zuaufhören Chrome Frame, aber ich gehe davon aus, dass die Quellen im Chromium-Repository verbleiben. Es sollte nicht schwierig sein, es mit dem neuesten Chromium-Code zu aktualisieren, und wir hätten die volle Kontrolle darüber.
Nicht genau auf Chrom basierend und verwendet keine V8-Engine, daher ist dies keine Option.
Gibt es eine andere Option, die ich möglicherweise übersehen habe?
Ich würde mich sehr freuen, wenn jemand seine Erfahrungen mit einer der oben genannten Optionen für ein reales WPF-Projekt in Produktionsqualität teilen würde. Hatten Sie Auswirkungen auf die Integration, Lizenzierung oder Bereitstellung? Vielen Dank.
[EDITED] Ich möchte mich auch bedankenartlung dafür, dass Sie dieser Frage einen Schub geben, indem Sie ein großzügiges Kopfgeldangebot unterbreiten.