Điều khiển WPF WebBrowser dựa trên Internet Explorer bị một số vấn đề về bàn phím và tiêu điểm và rò rỉ bộ nhớ . Là một giải pháp thay thế cho những vấn đề này, chúng tôi đang xem xét các tùy chọn có sẵn để lưu trữ Chromium thay vì kiểm soát WebBrowser trong dự án WPF / C # của chúng tôi dựa trên chỉnh sửa HTML. Các câu hỏi tương tự đã được hỏi ở đây trước đây. Tôi đã đọc câu trả lời và thực hiện nghiên cứu của riêng mình, nhưng tôi hy vọng sẽ nhận được thêm một số phản hồi từ những người thực sự đã sử dụng bất kỳ tùy chọn nào sau đây trong các dự án chất lượng sản xuất :
Nó có vẻ rất phù hợp, nhưng tôi không thích thực tế dự án không phải là nguồn mở và nguồn đầy đủ không dễ dàng có sẵn. Ngoài ra, nó có thể là một quá mức cần thiết cho dự án của chúng tôi, vì kết xuất ngoài màn hình không phải là thứ chúng tôi thực sự phụ thuộc.
Liên kết nhúng Chromium (CEF) và các ràng buộc .NET cho CEF
Đây có lẽ là lựa chọn tốt nhất hiện có. Dự án dường như vẫn còn sống và đang hoạt động, hiện đang được đồng bộ hóa với Chrome v27. CEF3 sử dụng kiến trúc đa quy trình của Chrome. Có vẻ như Adobe đang cung cấp cho nó một số chứng thực .
Mặc dù mục đích ban đầu của nó là một plugin HTML5 cho IE và Firefox, nhưng nó thực sự hoạt động như một điều khiển ActiveX độc lập, vì vậy tôi có thể gói nó để sử dụng với WPF. Nó hiển thị một API đủ để tương tác với trang web bên trong ( onmessage, addEventListener/removeEventListener, postMessage
). Tôi biết Google sẽ ngừng sử dụng Chrome Frame, nhưng tôi cho rằng các nguồn sẽ vẫn còn trong kho lưu trữ Chromium. Không khó để cập nhật nó với mã Chromium mới nhất khi chúng tôi đi và chúng tôi sẽ có toàn quyền kiểm soát việc này.
Không chính xác dựa trên Chromium và không sử dụng động cơ V8, vì vậy nó không thực sự là một tùy chọn.
Có lựa chọn nào khác mà tôi có thể đã bỏ qua không?
Tôi sẽ đánh giá rất cao nếu ai đó chia sẻ kinh nghiệm của cô ấy / anh ấy với bất kỳ tùy chọn nào ở trên cho dự án WPF thực tế, chất lượng sản xuất. Bạn đã có bất kỳ ý nghĩa tích hợp, cấp phép hoặc triển khai? Cảm ơn bạn.
[EDITED] Tôi cũng muốn cảm ơn artlung vì đã thúc đẩy câu hỏi này bằng cách cung cấp một ưu đãi tiền thưởng hào phóng.