2014-04-04 8 views
0

C#/.xaml 전화 앱을 작성 중입니다.HttpWebRequest 오류 - request.BeginGetResponse();

단순히 웹 사이트에 앱을 연결하는 대신 특정 웹 사이트에서 특정 정보를 가져오고 싶습니다. 정보를 원한다는 클래스 이름도 알고 있습니다.

코드가 있지만 request.BeginGetResponse(); '메소드에 과부하 없음'오류를 반환합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Navigation; 
using Microsoft.Phone.Controls; 
using Microsoft.Phone.Shell; 
using GamesWithGold.Resources; 
using System.IO; 
using System.Text; 
using System.Text.RegularExpressions; 

namespace MyIP 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
     public MainPage() 
     { 
      InitializeComponent(); 
     } 
     class WebFetch 
     { 
      static void Main(string[] args) 
      { 
       HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.whatismyip.com/"); 
       HttpWebResponse response = (HttpWebResponse)request.BeginGetResponse(); 

       StreamReader stream = new StreamReader(response.GetResponseStream()); 

       string final_response = stream.ReadToEnd(); 

       Regex r = new Regex(@"Your IP"); 
       Match m = r.Match(final_response); 

       Console.WriteLine(final_response); 
      } 
     } 
    } 
} 

답변

0

내가 방금 GetResponse 대신 BeginGetResponse의 전화 할 생각합니다. 을 비동기 적으로 호출하는 경우 BeginGetResponse입니다.

HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
1

오류는 기본적으로 샘플에 사용 된 방법의 서명이 위의 BeginGetResponse 방법의 허용 서명이 일치하지 않음을 의미 : 같은 코드는 보일 것입니다. 이 메서드를 구현하는 올바른 방법은 콜백 및 요청 상태를 전달하는 것입니다. 콜백은 요청이 응답과 함께 반환되면 실행될 처리기입니다.

정확하게이 방법을 구현하는 방법을 이해하려면 http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.begingetresponse.aspx을 참조하십시오.