저는 특히 클라이언트 쪽 프로그래밍에 익숙합니다. 특히 Jquery Ajax 메서드를 사용하여 서버 쪽 메서드를 호출하는 경우가 있습니다.JSON 객체를 반환하는 서버 측 데이터 소스를 구성하는 방법은 무엇입니까?
지금까지 System.Web.Services.WebService를 사용하여 String 또는 bool을 반환하는 여러 메서드를 호스팅했습니다. 이 접근법은 "코멘트 시스템 용 메소드"와 같은 유사한 목적으로 메소드를 "그룹화"할 수 있다는 장점이 있습니다. 단점은, 내가 여러 번 읽었을 때, * .asmx 서비스가 구식이고 Json 지원이 그렇게 잘되지 않는다는 것입니다.
JSON 객체를 반환하는 메소드를 제공하는 좋은 방법은 일반 핸들러 (* .ashx)를 사용하는 것입니다. 과거에 작성한 일반적인 핸들러는 핸들러 당 하나의 "액션"을 제공했습니다. JSON 데이터 소스에 일반 핸들러를 사용하고 있습니까? 각각의 메서드가 별도의 .ashx.cs 파일에 있기 때문에 메서드를 "그룹화"할 수 없다는 단점이 있습니다. (나는 어떤 "행동"이 호출되어야 하는지를 결정하는 두 번째 주장을 전달할 수 있지만, 어떻게 든 옳다고 느끼지는 않는다는 것을 알고있다).
WCF 서비스를 사용하는 것은 현재로서는 가치가없는 옵션입니다. 왜냐하면 내가 사용하는 메서드가 세션에 대한 액세스를 필요로하고 동일한 목적에 맞도록 서비스를 조정하는 것이 과잉이라고 할 수 있기 때문입니다.
실제 질문은 다음과 같습니다. 서비스 측 메소드의 가독성/구조를 유지하면서 JSON 객체/JSON 객체 목록을 반환하는 현대적인 방법은 무엇입니까?
편집 : 나는 웹 서비스와 함께 다루고 싶어요 내가 사용 웹 양식 4.0
ASP.NET MVC를 보셨습니까? 컨트롤러 메서드에서 Json 결과를 반환하기위한 훌륭한 기본 제공 지원을 제공합니다. –
@EricPetroelje : 잠시만. 현재 작업하고있는 프로젝트는 Webforms 프로젝트입니다. 나는 Webforms와 MVC를 섞을 수 있다는 것을 알고있다. 그러나 재미있는 소리. "그룹핑"을위한 클래스와 ActionResult를 반환하는 여러 메소드를 사용하도록 조언 해 주시겠습니까? – citronas
실제로 컨트롤러 동작에서 JSON을 반환하기 위해 MVC에 내장 된'JsonResult' 클래스가 있습니다 : http://msdn.microsoft.com/en-us/library/system.web.mvc.jsonresult.aspx – CAbbott