2010-11-29 4 views
0

저는 RazorGator REST API에 대한 기본적인 문서를 제공 받았으며이를 ASP.NET 3.5 사이트에 통합해야합니다. 내 WebRequest.Create ("URL TO API")가 포함 된 API를 호출하도록 클래스 파일을 만들었습니다. 그런 다음 다른 페이지에서 사용할 수 있도록 출력을 어떻게 사용할 수 있습니까? 즉, tickets.aspx 페이지는이 API 호출의 출력 결과를 가져와야합니다. 어떤 구조를 사용하여 ticket.aspx에서 사용할 수 있습니까?ASP.Net 3.5에서 REST API를 활용하는 방법은 무엇입니까?

감사합니다! 위의 코드 블록의 두 번째 줄에

A field initializer cannot reference the nonstatic field, method, or property 'field' 

: 나는 오류 메시지가 나타납니다

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.IO; 
using System.Net; 
using System.Text; 

namespace SeatEater.Web.UI.search 
{ 
public class RazorGatorService 
{ 

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.razorgator.com/ticketservice/ticets.xml?blahblah") as HttpWebRequest ; 
    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
    Stream receiveStream = response.GetResponseStream(); 
    StreamReader readStream = new StreamReader(receiveStream, encode); 
    response.close(); 
    readStream.close(); 

} 

} 

:

편집 는 여기에 내가 지금까지 작성한 코드입니다. 나는 HttpWebRequest와 HttpWebResponse를 사용하는 것에있어서 매우 새로운 것이다. 내가받는 오류 메시지를 수정하는 방법에 대해 조언 해 줄 수 있습니까?

감사합니다!

답변

4

API에서 반환 된 다른 정보를 보유하는 간단한 클래스를 만듭니다 (예 : "RazorGatorResult.cs"). (또는 더 구체적으로 필요한 정보 만).

그런 다음 웹 응용 프로그램에 참조가있는 응용 프로그램에서 "RazorGatorService"어셈블리를 만들 수 있습니다.

은 "RazorGatorService는"어떤을 할 수있다, 강력한 형식의 "RazorGatorResult"로 (HTML, JSON, XML 등을 할) 객체를 원시 HTTP 응답을 API를 호출하고, 수화에 대한 책임 것 웹 계층에서 사용됩니다.

그리고 모든 페이지는 단순히 서비스를 통해 호출 할 수 있습니다

using RazorGatorService; 

RazorGatorResult result = RazorGatorService.GetSomeFunkyStuff(); 

이 3 장점이 있습니다

1 - 당신은 당신의 웹 애플리케이션

2에서 아무 곳이나 API를 호출 할 수 있습니다 - 실제 구현 (HTTP 호출, 비 직렬화)은 추상화됩니다.

3 - 코드를 별도로 유지 관리하거나 미세 조정할 수 있으며 웹 계층.

+0

원시 HTTP 응답을 강력한 형식의 RazorGatorResult로 변환하면 API에서 반환 된 XML을 보관할 데이터 테이블을 만들 수 있습니까? 아니면, API에 의해 반환 된 XML을 저장하는 또 다른 적절한 객체가 있습니까? – SidC

+0

POCO처럼 getters/setters가있는 간단한 클래스를 의미합니다. – RPM1984

관련 문제