2009-05-05 3 views
10

JSON 웹 서비스를 만드는 가장 좋은 방법은 무엇입니까? 우리는 Java를 사용하는 다른 팀을 가지고 있으며 JSON을 사용하여 모든 통신을 완료해야한다고 주장합니다. 나는 제 3 자 프레임 워크가 아닌 WCF를 선호한다.wcf json 웹 서비스

나는이 블로그를 발견했다 : http://www.west-wind.com/weblog/posts/164419.aspx, 그리고 그것은 마이크로 소프트 구현은 M $ 특정 쓰레기로 결함이 있다고 제안합니다.

+1

릭 (Rick)이 시험판 비트로 작업하지 않았는지 직접 확인하고 싶을 수 있습니다. –

답변

-4

나는 JayRock을 사용했다. 환상적인 기술, 그냥 작동합니다. 제대로 구성하지 않으면이 쓰레기 WCF와 같은 NullReferenceExceptions을 얻지 못합니다.

+0

나는 당신이 왜 7 번 투표를했는지 이해하는 데 어려움을 겪고 있습니다. . JSON을 반환하는 웹 서비스를 사용하는 최선의 방법에 대한 답변을 찾은 것 같습니다. – pqsk

13

WCF와 3.5 Framework를 사용하는 경우 더 쉬울 수 없습니다. OperationContracts를 WebGet 특성으로 표시하면 ResponseFormat 매개 변수를 WebMessageFormat.Json으로 설정하면됩니다. RESTfully 서비스에 액세스하면 DataContractJsonSerializer를 사용하여 데이터를 반환합니다.

JSON을 [DataContract]로 직렬화하고 각 직렬화 가능 멤버를 [DataMember]로 표시하려는 POCO를 표시하는 것이 좋습니다. 그렇지 않으면 Rick이 자신의 블로그 게시물에서 지적한 것처럼 펑키 JSON으로 끝납니다.

+3

이 모든 좋은 예 : http://stackoverflow.com/questions/2086666/wcf-how-do-i-return-clean-json/ – Cheeso

4

현대적인 코드 우선, 모델 중심의 WCF 대체 웹 서비스 프레임 워크 encouraging code and remote best-practices, high-perfomance, scalable REST web services을 작성하기 위해 WCF 대신 성숙한 오픈 소스 대안 인 ServiceStack을 유지합니다.

.NET's fastest JSON Serializer을 포함하며 자동으로 JSON, JSONP, CORS 헤더와 form-urlencoded/multipart-formdata를 지원합니다. 온라인 데모는 모두 Ajax를 사용하기 때문에 살펴 보는 것이 좋습니다.

또한 XML 설정이나 코드 겐 (code-gen)이없고 'write-once'C# 웹 서비스는 모든 JSON, XML, SOAP, JSV, CSV, HTML 엔드 포인트를 즉시 사용할 수있게 해주 며 필요할 경우 자동으로 후크를 연결하여 제공합니다. Content Types .

generic sync/async service clients에는 빠른 유형의 클라이언트/서버 통신 게이트웨이가 엔드 - 투 - 엔드로 제공됩니다.

이 간단한 웹 서비스를 만드는 데 필요한 모든 코드의 전체 예, 즉 볼 수 있습니다 등록했다, 어떤 설정없이 자동으로있는 모든 web data formats on pre-defined and custom REST-ful routes : 호출 할 수있는 서비스 위

public class Hello { 
    public string Name { get; set; } 
} 

public class HelloResponse { 
    public string Result { get; set; } 
} 

public class HelloService : IService<Hello> { 
    public object Execute(Hello request) 
    { 
     return new HelloResponse { Result = "Hello, " + request.Name }; 
    } 
} 

(와 jQuery를

var client = new JsonServiceClient(baseUrl); 
var response = client.Send<HelloResponse>(new Hello { Name = "World!" }); 
Console.WriteLine(response.Result); // => Hello, World 

그리고에서 :

$.getJSON('hello/World!', function(r){ 
    alert(r.Result); 
}); 
아래의 라인 C#에서 어떤 빌드 단계없이/코드 세대)
+1

건배, 나는 확실히 그것을 줄 것이다! – Grzenio

2

JSON 웹 서비스를 만드는 가장 좋은 방법은 무엇입니까? 우리는 또 다른 팀이 Java를 사용 중이며 그들은 모든 통신을 JSON을 사용하여 완료했다고 주장합니다. 어떤 제 3 자보다 WCF를 사용하는 것을 선호합니다. 프레임 워크.

첫 번째 WCF 서비스를 설정 한 다음 SQL Server 데이터베이스에 연결하는 과정을 안내합니다.

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

그것은 마이크로 소프트의 사랑 Northwind를 SQL Server 데이터베이스를 사용하고, 읽고 데이터의 작성하는 간단한 JSON WCF 웹 서비스를 작성하는 방법을 보여줍니다.

enter image description here

아, 그리고 그 다음 자바 스크립트 또는 아이폰 OS 응용 프로그램을 사용하여 JSON 데이터를 소비하는 방법을 보여줍니다.

행운을 빈다.

+0

이 기사는 또한 나를 도왔습니다 - 저는 WCF 웹 서비스에 아주 익숙합니다. – Krondorian