2014-02-05 4 views
0

문제가 생겼습니다. 나는 .Net 개발자이고 php에 대해 모른다. API가있는 CRM을 개발 중이다. 제 의뢰인은 단순한 페이지가 단순한 게시물로 작동해야한다고 말합니다. 지금은 내가 어떻게 간단한 게시물을 할 수 있는지 이해가 안 돼. 닷넷. asp.net WebForm을 만들었습니다. 모두 잘 작동합니다. 유일한 문제는 내가 매개 변수 목록을 응답에 반환해야한다는 것입니다. 내가 사용하고있다PHP에서와 마찬가지로 Asp.net의 게시물을 받으십시오.

Response.Write("100 - Click Recorded Successfully."); 

그러나 이것은 문서의 맨 위에 매개 변수 문자열과 함께 전체 HTML 문서를 반환합니다.

response=1 
    &responsetext=SUCCESS 
    &authcode=123456 
    &transactionid=2154229522 
    &avsresponse=N 
    &cvvresponse=N 
    &orderid=3592 
    &type=sale 
    &response_code=100 

어떤 사람이 나에게 내가이 작업을 수행 할 수있는 방법을 더 나은 방법을 제안 할 수 있습니다 : 나는 밖으로 HTML 문서와 같이 단지 prameter 문자열을 반환 하나의 PHP API를 보았다. .Net에서 간단한 Get Post를 수행하는 방법을 설명하는 많은 기사를 찾았으나이 중 어느 것도 내 문제를 해결하지 못했습니다.

업데이트 :

이 내가 응답 스트림 URL + 쿼리 내 페이지 주소입니다

  string result = ""; 
      WebRequest objRequest = WebRequest.Create(url + query); 
      objRequest.Method = "POST"; 
      objRequest.ContentLength = 0; 
      objRequest.Headers.Add("x-ms-version", "2012-08-01"); 
      objRequest.ContentType = "application/xml"; 

      WebResponse objResponse = objRequest.GetResponse(); 
      using (StreamReader sr = 
       new StreamReader(objResponse.GetResponseStream())) 
      { 
       result = sr.ReadToEnd(); 

       // Close and clean up the StreamReader 
       sr.Close(); 
      } 
      string temp = result; 

에게 페이지를 호출 얻기 위해 다른 응용 프로그램에서 사용하고있는 코드입니다. 결과는이 코드 http://screencast.com/t/eKn4cckXc을 보여줍니다. 헤더 줄 만 가져오고 싶습니다. "100 - Click Recorded Successfully."

+0

가능한 중복 http://stackoverflow.com/questions/10980435/ 예방 - aspx - 페이지 렌더링) – CodeCaster

답변

0

두 가지 옵션이 있습니다. 아무것도 다른 추가되지 않도록 우선, 이미 페이지에 생성 된 어떤 응답을 지우려면 텍스트를 작성하고 응답을 종료하는 것입니다

당신이 페이지에 처리하려는 경우입니다
Response.Clear(); 
Response.ClearHeaders(); 
Response.AddHeader("Content-Type", "text/plain"); 
Response.Write(Request.Url.Query); 
Response.End(); 

. 그러나 더 나은 접근 방식은 HTTP를 처리기를 구현하는 것,이 경우 당신이 할 필요가있다 :

public void ProcessRequest 
{ 
    Response.AddHeader("Content-Type", "text/plain"); 
    Response.Write(Request.Url.Query); 
} 
[방지 영문 페이지 렌더링 (의
+0

이들 중 아무도 나를 위해 일한, 내가 제대로 설명하지 않았을 수 있습니다, 내가 노력하고있는 페이지가 다른 응용 프로그램에 의해 호출됩니다. 또한 Request.Url.Query 대신 일부 사용자 지정 메시지를 응용 프로그램 클라이언트에 전달합니다. Response.End()는 예외를 throw합니다. "코드가 최적화되었거나 네이티브 프레임이 호출 스택 맨 위에 있기 때문에 표현식을 평가할 수 없습니다. \t 문자열" –

관련 문제