2012-02-09 4 views
3

JSON 또는 XML이 필요할 수있는 클라이언트에서 사용하게 될 C#으로 웹 서비스를 작성하려고합니다.JSON과 XML을위한 별도의 웹 서비스가 필요합니까?

나는 당신이 당신의 WebMethod에이 사람 개체 같은 간단한 일을 반환하는 것처럼 닷넷 긴 아주 잘 수행 할 수 있습니다 이해

class person 
{ 
    string name 
    string age 
} 
이 웹 서비스의 목적은 데이터베이스 사이의 계층 역할을하는 것입니다

클라이언트와 나는 하나의 테이블 만 포함하는 저장 프로 시저를 통해 데이터를 가져올 것입니다.

나는 단순히 datatable을 반환하려했지만, JSON (순환 참조 문제는 application/json으로 사용하는 경우)과 잘 맞지 않습니다. 이 경우 데이터를 매핑 할 수있는 직렬화 가능 클래스를 만드는 것이 가장 좋은 해결책입니까? 내가 요청하는 이유는 이것이 매우 성가시다는 것입니다.

또는 각각에 대해 별도의 웹 서비스를 만들고 데이터 테이블 열 이름을 필드에 효율적으로 매핑하여 JSON을 처리하고 문자열을 반환하는 코드를 작성할 수 있습니다.

+0

통신 양쪽을 제어 할 수 있으면 WCF 데이터 서비스가 도움이 될 수 있습니다. JSON과 XML을 모두 지원한다는 것을 기억합니다. 그래도 메시지 서식을 제어 할 수 없게됩니다. –

답변

1

실제로 클라이언트에 전달할 수있는 별도의 간단한 UI 개체를 만드는 것이 가장 좋습니다. 통증이 있더라도 프런트 엔드 서비스 코드를 데이터 계층에서 분리하여 클라이언트가 사용하는 개체에 영향을주지 않고 데이터를 변경할 수 있습니다.

그러나 별도의 웹 서비스를 만들 필요는 없습니다. 같은 서비스에 대해 2 개의 다른 종점을 만들 수 있고 클라이언트가 어떤 주소 (끝점)를 사용하는지에 따라 xml/json을 반환하도록 구성 할 수 있다고 생각합니다.

관련 문제