어떤 .NET REST 접근 방식 / 기술 / 도구를 사용해야합니까?


16

RESTful 웹 서비스와 대부분 Silverlight에있는 여러 클라이언트 응용 프로그램을 구현하고 있습니다. API의 서버 측과 클라이언트 측을 모두 개발할 수있는 옵션이 많이 있지만 어느 것이 가장 좋은 방법인지 확실하지 않습니다. 몇 개월 후부터 계속 존재할 플랫폼과 안정성에 대해 우려하고 있습니다.

.NET 3.5에서 REST 스타터 키트를 사용하기 시작했지만 .NET 4.0으로 업데이트 할 때 새로운 WCF 웹 API로 이동했습니다. 모든 문서는 WCF 웹 API가 RSK를 대체 함을 나타냅니다. 그러나 Web API는 Preview 4에만 있으며 Silverlight 또는 Windows Phone 7 클라이언트 (아직)에 대한 지원은 포함하지 않습니다.

WCF 웹 API는 System.ServiceModel.Web라이브러리에 제공된 WCF WebHttp Services 항목의 래퍼처럼 보이 므로 내장 기능을 사용하는 것이 더 간단하지만 웹 API는 멋진 기능을 제공합니다.

나는 클라이언트 측에 가장 적합한 과정을 결정하려고 특별히 묶여 있습니다. 내 주요 요구 사항은 클라이언트 쪽 개체에 대한 직렬화 해제를 빠르고 쉽게 지원해야한다는 것입니다. 웹 API는 훌륭한 클라이언트 라이브러리를 제공하지만 Silverlight 버전은 없습니다.

적극적으로 개발 및 지원되는 최신 방법과 툴셋을 사용하고 싶습니다.

  1. REST 스타터 키트가 실제로 더 이상 사용되지 않습니까?

  2. WCF 웹 API 툴킷을 구현 한 사람이 있습니까?

  3. 에서 제공되는 내장 WCF WebHttp Services 기능을 통해 이러한 기능 중 하나를 사용하는 것이 장점이 System.ServiceModel.Web있습니까?

  4. 모든 클라이언트 (웹, Silverlight 등)에서 작동하는 단일 솔루션이 있습니까?

어떤 제안이 있습니까?


servicestack
Mithir

답변:


6

WCF 웹 API는 Preview 5를 사용하여 후속 작업을 마무리하고 마무리하기 위해 엄청나게 발전하여 REST API를 작성하는 것이 매우 간단 해졌습니다. Codeplex의 현재 코드베이스에는 Silverlight 클라이언트가 포함되어 있지 않지만 툴킷이 있으며 오픈 소스 코드에서 Async-CTP 부분을 쉽게 제거하고 SL 버전을 만들 수있었습니다.

WCF를 사용하여 REST에 관심이있는 사람은 프레임 워크 ( http://wcf.codeplex.com)를 살펴 보는 것이 좋습니다 .

참고로-.NET 4.5의 통합 부분이며 현재 ASP.NET MVC와 동일한 코어 프레임 워크에서 실행되도록 다시 작성 중입니다 (자체 호스팅을 확실히 지원한다고 들었지만).


1

REST 스타터 키트를 사용하지 않았지만 현재 .net 4.0 WCF REST API를 작성하는 것처럼 여전히 존재합니다. :)

odata를 살펴 보는 것이 좋습니다. 놀랍도록 빠르고 코딩하기 쉽고 silverlight로 멋지게 재생됩니다.


WCF 웹 API 툴킷이 제공하는 기능 중 하나는 OData 지원으로 잘 작동합니다. 그러나 Silverlight 버전이 없으면 도움이되지 않습니다. 클라이언트 쪽에서 직렬화 해제를 어떻게 처리합니까?
SonOfPirate

WP7 silverlight로만 수행했습니다. 방금 서비스 굴절을 추가하고 전화했습니다. 웹 클라이언트를 사용하고 응답이 더 잘 작동하는 경우 직접 응답을 직렬화 해제 할 수 있습니다. 하드하지
톰 종복

WCF로 REST를 활성화하기 위해 webHttpBinding을 사용하여 mex 끝점을 지원한다고 생각하지 않았습니다. 서비스 참조를 어떻게 추가합니까? 그것은 내 데이터 계약을 포함하는 공통 라이브러리를 공유하는 것보다 선호됩니다.
SonOfPirate

예, 방금 서비스 거부를 추가했습니다. 구성 파일에서 엔드 포인트를 정의해야 할 수도 있습니다.
Tom Squires

방금 Silverlight가 WebHttpBinding을 지원하지 않는다는 것을 알게되었습니다. 따라서 mex 끝점과 Add Service Reference를 노출 할 수 있었지만 끝점을 확인할 수 없어서 서비스가 호출되지 않았습니다.
SonOfPirate

1

WCF 웹 API는 서비스 프록시를 생성하는 데 사용할 메타 데이터 정보를 제공하지 않으므로 서비스 참조를 추가 할 수 있습니다. ASP.NET MVC 4 웹 API 프레임 워크에서와 마찬가지로 WCF 우산 아래에서 REST 서비스를 쉽게 생성 할 수 있습니다.

따라서 WP7 또는 Silverlight는 지원하지 않지만 나머지 웹에는 거의 완벽합니다.

그러나 WCF 데이터 서비스는 올바른 후보처럼 보이므로 RESTful 서비스를 만들고 Silverlight를 통해 쉽게 사용할 수 있습니다.


거의 1 년 동안 Silverlight 클라이언트와 함께 웹 API를 문제없이 사용하고 있습니다.
SonOfPirate
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.