2011-10-05 2 views
-1

이 코드는 콘솔 앱과 WinForm 애플리케이션에서 완벽하게 실행됩니다.이 코드가 WinForms에서 실행되지만 ASP.NET에서는 실행되지 않는 이유는 무엇입니까?

httpwebrequest을 사용하여 데이터를 다시 검색 할 수없는 ASP.NET 웹 사이트에서 동일한 논리를 사용하고 싶습니다.

이 문제를 해결하는 방법을 알려주세요. 내가 할 수있는 일이 이보다 나은가? 나는 문제를 일으키는 선을 표시했다.

감사합니다.

+1

Application.Run은 일반적으로 단지 윈폼 응용 프로그램에 사용됩니다. 참조 : http://stackoverflow.com/questions/3034084/what-application-run-does –

+0

왜 Windows Forms 컨트롤이 asp.net 환경에서 작동하도록 하시겠습니까? – deostroll

+0

사이트를 스크랩했지만 일반 html이 아닌 스크립트를로드하면 약 30 초 후에 데이터가 표시되므로 웹 브라우저 컨트롤을 사용했습니다. 그것은 결과를 얻을 수 있도록 모든 것이로드 될 때 documentcompleted 이벤트로갑니다. 다른 방법이 있습니까? 이제 웹 사이트에서 똑같은 것을 실행하여 도움이 필요합니다. –

답변

1

System.Net.WebClient 또는 System.Net.HttpWebRequest을 사용하는 것이 좋습니다.

여기 HttpWebRequest를 사용하여 간단한 예제 :

WebRequest request = HttpWebRequest.Create("https://www.linkedin.com/uas/login"); 
request.Method = WebRequestMethods.Http.Get; 

using (WebResponse response = request.GetResponse()) 
{     
    StreamReader reader = new StreamReader(response.GetResponseStream()); 
    string responseText = reader.ReadToEnd(); 
    reader.Close(); 
} 
0

응용 프로그램이 Windows.Form 클래스의 컨텍스트에서만 유효하므로 다른 방법을 사용해야합니다. 작동하는 경우에도 모든 Application.Run은 아무것도 수행하지 않는 스레드를 실행합니다.

당신이하고 싶은 것을 데스크톱 응용 프로그램으로 유지하는 것이 좋습니다. 웹 응용 프로그램에는 적합하지 않습니다.

도움이 필요하면 추가 정보를 제공해야합니다. 이 시점에서 당신이 가지고있는 코드는 어떤 물질도 전혀하지 않습니다.

+0

OP는 마치 웹 응용 프로그램에 완벽하게 적합한 일부 스크래핑을 원합니다. 그것은 단지 그것이 윈도우 애플 리케이션에서 완료 같은 방식으로 할 수 없습니다. –

관련 문제