2011-03-30 6 views
1

저는 .NET 2.0 WinForms 응용 프로그램을 개발 중입니다. 이전에 표준 Microsoft ActiveX WebBrowser 컨트롤이 포함되었지만 대안을 조사하고 있습니다..NET WebBrowser 컨트롤의 대안은 무엇입니까?

내가해야 할 일은 :

  • 사용

  • 컨트롤을 만들고, 너무 - 예를 들어 배경에서 사용 할 수 있어야 응용 프로그램의 표준 웹 브라우저 컨트롤과 웹 브라우저, 양식에 첨부 된 컨트롤없이 웹 페이지를 렌더링하고 결과를 이미지에 출력합니다 (.DrawToBitmap 사용).

  • 주로 라이프 사이클의 다양한 이벤트에 연결합니다. 주로 DocumentCompleted입니다.

  • 컨트롤의 새 인스턴스를 통해 또는 기존 컨트롤을 사용하여 30 초마다 웹 페이지를로드 (또는 다시로드) 할 수 있습니다. 응용 프로그램은 길고 비 한정 기간 동안 계속 실행될 수 있습니다.

  • .NET 2.0에서 작동해야합니다. 아니 3.0 + 또는 WPF 물건.

    • 마이크로 소프트 액티브 웹 브라우저 - 만드는 거대한 메모리 누수가 있습니다

    유일하게 세 개의 컨트롤은 지금까지 모두 앞으로 나를 방지 오히려 중요한 문제를 찾을 수있었습니다 그것은 오랜 시간 동안 실행하기에는 부적합합니다.

  • WebKit.NET - 지금까지 내가 만들었던 것은 모든 렌더링이 완료되기 전에 양식에 첨부되어야하므로 축소판 생성 조각에 쓸모가 없습니다. 또한 메모리 누수로 고통받는 것 같습니다.

  • GeckoFX - 나에게 가장 적합하지만 스레딩을 제대로 지원하지 않습니다 (이는 미리보기 이미지 생성 부분에서 중요합니다).

다른 대안이 있습니까?

+0

"제대로 스레딩을 지원하지 않음"이란 의미는 무엇입니까? 몇 가지 해결 방법을 만들 수 있습니다. – Andrey

+0

GeckoFX에서 한 번만 호출 할 수있는 Xpcom.Initialize 호출이 있습니다. 일단 내가 GeckoWebBrowser 컨트롤이 다른 스레드에서 GeckoWebBrowser를 사용하여 COM 오류가 발생하면 해당 스레드에 바인딩되는 스레드에서 해당 메서드를 호출하면 수집 할 수 있었던 것부터 확인할 수 있습니다. – MisterZimbu

+1

을 사용하면 GeckoFX를 캡슐화 할 프로세스를 생성 할 수 있습니다. – Andrey

답변

2

WebKit.Net을 화면의 보이는 영역과 같은 모양으로 삽입 할 수 있습니까?

Mono.WebKit 또는 Mono.Mozilla를 볼 수도 있습니다. 그러나 이들 중 어느 것도 사용하지는 않았습니다.

+0

WebKit과 같은 몇 가지 트릭을 시도했지만 작동하지 못했습니다. 그것이 가능하지 않다는 것을 의미하지는 않습니다. 나는 단지 한두 시간 동안 그걸 가지고 놀았습니다.Mono 라이브러리에 대한 흥미로운 아이디어. 나는 그걸 가지고 놀아서 어디든 갈 수 있는지 알아볼 것입니다. – MisterZimbu

관련 문제