2013-10-15 3 views
0

웹 양식에서 데이터를 수신해야하는 웹 사이트가 있습니다. webform 코드에 액세스 할 수 없습니다.웹 서비스에서 POST 데이터 수신

웹 양식에서 데이터를 전송해야하는 링크를 입력 할 수 있으며 문자열 형식의 데이터를 웹 페이지로 전송할 수 있습니다. 나는 그것을 받아서 데이터베이스에 저장해야합니다.

데이터를 수신 할 수있는 빈 공개 웹 메소드로 웹 서비스를 만들었습니다. 내 웹 페이지에서 데이터에 액세스 할 수있는 몇 가지 기능을 구현하려고했지만 그저 그것을 얻을 수없는 것 같습니다. HTTPListeners 및 HTTPWebRequests 시도했지만 올바른 방법으로 사용하고 있는지 잘 모르겠습니다.

웹 서비스의 코드

public class WebService : System.Web.Services.WebService 
{ 
    public WebService() 
    { 

    } 
[WebMethod] 
public string getData() 
{ 
    return "Hello World"; 
} 
} 

내가 모든 것을 검색하고 가능한 모든 솔루션을 시도했지만 코드가 바로 보이지 않는 한

private const string URL = "http://localhost:80/WebService.asmx/getData/"; 
protected void Page_Load(object sender, EventArgs e) 
{ 
} 
protected void btnSubmit_Click(object sender, EventArgs e) 
{ 
     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); 
     request.Method = "GET"; 
     request.ContentType = "text/plain"; 

     WebResponse webResponse = (HttpWebResponse)request.GetResponse(); 
     Stream webStream = webResponse.GetResponseStream(); 
     StreamReader responseReader = new StreamReader(webStream); 
     string response = responseReader.ReadToEnd(); 
     MessageBox.Show(response);     //To display the received data 
     // System.Diagnostics.Debug.WriteLine(response); 
     responseReader.Close(); 

    } 
} 

ASP.NET/웹 사이트의 코드 일하다. 누군가가 도울 수 있다면 고맙겠습니다.

답변

0

나는 HttpHandler를보다 구체적으로 보면 ProcessRequest 방법을 제안 할 것이다. 전송중인 모든 컨텐츠에 액세스 할 수있는 메소드에서 HttpContext를 가져올 수 있습니다. HttpHandlers가 처음 사용하는 경우이 조금 도움을 줄 수 있습니다 Introduction to HTTP Handlers

편집 :

은을 IHttpHandler 인터페이스를 구현하고 processRequest 메소드를 만듭니다. 컨텍스트에서 요청을 가져올 수 있으며 요청 안에는 formvariables가 NameValueCollection 인 양식이 있습니다. 더 많은 정보는 here (NameValueCollection)

public class SomeHandler : IHttpHandler 
{ 
    public void ProcessRequest(HttpContext context) 
    { 
    var request = context.Request; 
    NameValueCollection formVariables = request.Form; 
    //do something to process the collection 
    } 
} 
+0

답장을 보내 주셔서 감사합니다. 나는 HttpHandler 파일을 만들고 그 링크로 데이터를 전달하려고 시도했다. 그러나 나는 아직도 데이터를 얻지 못하고있다. "메서드에서 HttpContext를 가져 오는 것"은 무엇을 의미합니까? 새 파일에서 inputstream reader를 사용하고 있지만 작동하지 않습니다. 사용할 수있는 명령을 지정해 주시겠습니까? – hriddle

관련 문제