Internet Explorer tabanlı WPF WebBrowser denetimi bazı klavye ve odak sorunları ile bellek sızıntısı sorunlarından muzdarip . Bu sorunlara alternatif bir çözüm olarak, HTML düzenleme tabanlı WPF / C # projemizde WebBrowser kontrolü yerine Chromium'u barındırmak için mevcut seçenekleri düşünüyoruz. Benzer sorular burada daha önce de sorulmuştu . Yanıtları okudum ve kendi araştırmamı yaptım, ancak üretim kalitesinde projelerde aşağıdaki seçeneklerden herhangi birini gerçekten kullanan insanlardan biraz daha fazla geri bildirim almayı umuyorum :
Çok uygun görünüyor, ancak projenin açık kaynak olmaması ve tam kaynağın kolayca bulunmaması hoşuma gitmiyor. Ayrıca, ekran dışı render işlemi gerçekten bağımlı olduğumuz bir şey olmadığından, projemiz için aşırıya kaçabilir.
CEF için Chromium Gömülü Çerçeve (CEF) ve .NET bağlamaları
Bu muhtemelen şu anda mevcut olan en iyi seçenektir. Proje canlı ve aktif görünüyor, şu anda Chrome v27 ile senkronize. CEF3, Chrome çoklu işlem mimarisini kullanır. Ayrıca Adobe ona bazı onaylar veriyor gibi görünüyor .
Orijinal amacı IE ve Firefox için bir HTML5 eklentisi olmakla birlikte, aslında bağımsız ActiveX kontrolü olarak da çalışır, bu yüzden WPF ile kullanmak için sarabilirim. Bu bir ortaya çıkarır yeterli API iç web sayfası ile etkileşim için ( onmessage, addEventListener/removeEventListener, postMessage
). Google etmektir farkındayım durdurma Chrome Frame, ama kaynaklar Krom depoda kalır varsayalım. Gittikçe en son Chromium koduyla güncellemek zor olmamalı ve bunun üzerinde tam kontrolümüz olacaktı.
Tam olarak Chromium tabanlı değil ve V8 motoru kullanmıyor, bu yüzden gerçekten bir seçenek değil.
Göz ardı edebileceğim başka bir seçenek var mı?
Birinin deneyimini gerçek yaşamda, üretim kalitesinde bir WPF projesi için yukarıdaki seçeneklerden herhangi biriyle paylaşması durumunda çok memnun olurum. Entegrasyon, lisanslama veya dağıtımla ilgili sonuçlarınız oldu mu? Teşekkür ederim.
[EDITED] Ayrıca cömert bir ödül teklifini sunarak bu soruyu desteklediği için artlung'a teşekkür etmek istiyorum .