2010-01-15 3 views
1

System.Windows.Forms.WebBrowser 컨트롤을 사용하여 웹 페이지를로드 한 다음 DOM 트리 등에서 정보를 추출하는 라이브러리 코드 클래스가 있습니다. 찾았습니다 이것은 자바 스크립트 등으로 페이지에로드 된 정보를 구문 분석 할 수있는 유일한 신뢰할 수있는 방법입니다 ...C# asp.net Windows Forms WebBrowser 사용

이 기능은 콘솔 앱으로 테스트 할 때 잘 작동하지만 asp.net 페이지에서 같은 메소드를 호출하면 잘 작동합니다. (ASP.NET MVC 컨트롤러) 현재 스레드가 단일 스레드 아파트에 없기 때문에 "ActiveX 컨트롤 '8856f961-340a-11d0-a96b-00c04fd705a2'를 인스턴스화 할 수 없습니다."... 추가를 시도했습니다. 내 방법에 [STAThread]하지만 도움이되지 않는 것!

아이디어가 있으십니까?

감사

업데이트 :

나는 생각하지 마 ... 부하를 완료하고 모든 자바 스크립트를 실행 한 후 이미 저장 한 템플릿과 일치하는 텍스트를 검색 할 페이지를 허용해야

HtmlAgilityPack이 작동합니까? WatIn이 자바 스크립트를 실행합니까?

답변

0

IIS를 단일 스레드 아파트 모델 (STA)에서 실행할 수 없다고 생각합니다. WebBrowser 컨트롤을 사용하는 대신 HTML Agility Pack을 살펴볼 수 있습니다. 웹 페이지에서 읽는 것을 허용하고 DOM을 두 드릴 것입니다. WebBrowser 컨트롤은 많은 컴퓨터 리소스를 사용하므로 걱정하지 않아도됩니다.

0

System.Windows의 모든 내용은 웹용이 아닌 데스크톱 용입니다. 나는 Jake Pearson과 당신이 다른 것을 사용해야한다고 동의합니다. 그러나 당신이이 지시어를 사용하여 STA 모드로 페이지를 강제로 시도 할 수 있습니다 원하는 경우 : 자신 저장

<%@Page AspCompat="true"%> 

http://msdn.microsoft.com/en-us/library/zwk9h2kb.aspx

관련 문제