이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 24900|회답: 4

[WebAPI] 나의 첫 번째 ServiceStack 웹 서비스 애플리케이션 빌드

[링크 복사]
게시됨 2018. 1. 15. 오전 11:06:52 | | | |
ServiceStack Web과 Microsoft의 내장 webapi의 차이를 시험해보고 장점이 있는지 알아보고 싶습니다. 그래서 오늘 ServiceStack Web Service 애플리케이션을 만들어 보려고 합니다

1: 새로운 .NET 4.5 웹 빈 프로젝트를 생성한 후, nuget 명령어를 사용해 ServiceStack을 설치하세요:

.NET 버전은 버전 4.5 이상이어야 하며, 4.0 프로젝트는 성공적으로 설치되지 않습니다! 아래 그림에서 볼 수 있듯이.



2: 새 모델 및 서비스 폴더 생성

다음 코드로 요청 및 응답 엔티티를 생성하세요:

3: 서비스 폴더에서 서비스 인터페이스 생성

4: 이 프로젝트에 Global.asax라는 새로운 글로벌 애플리케이션 클래스를 생성하고, 코드는 다음과 같습니다:




5: web.config 구성을 수정하고, 새로운 system.webServer 노드를 추가하면 전체 구성은 다음과 같습니다:



지금까지 저희 서비스가 완료되었으며, 프로그램을 실행하면 다음과 같은 인터페이스를 볼 수 있습니다.GetAllUserInfoRequest와 GetByAgeUserInfoRequest는 실제 호출 메서드로 이해할 수 있습니다이 안에 정의된 매개변수는 아래 그림과 같이 메서드의 요청 매개변수로 해석할 수 있습니다:



ServiceStack의 서비스 메서드는 Any, Get, Post로 명명되며, 이 역시 ServiceStack에서 지원하는 요청 유형입니다.모든 수단은 HTTP Get과 HTTP Post 모두에서 호출될 수 있습니다。 이로 인해 RESTFull 스타일의 WebServices 구현이 강화되고 단순화됩니다. 이 방법들에 사랑을 더해 [Route(...)] 속성. ServiceStack에서는,메서드와 메서드의 차이는 서비스와 요청 객체인 Request DTO 매개변수에 의해 구분됩니다, WCF처럼 메서드 이름으로 구분하는 대신 , 즉,요청 DTO 객체는 ServiceStack 내 여러 서비스에 걸쳐 재사용할 수 없습니다

get request 매개변수 뒤에 format 매개변수를 추가하면 form=json, format=xml 등과 같은 응답 유형을 반환할 수 있으며, jsonp 형식도 지원되는 것으로 보입니다.

예를 들어: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml



요약하자면, 마이크로소프트의 웹 API와 비교했을 때 ServiceStack은 웹에서 메서드라는 개념이 없는 것 같습니다. 웹에서는 별도의 요청 엔티티가 하나의 메서드이고, 인터페이스 문서를 자동으로 생성할 수 있으며, 응답 형식도 포맷을 통해 반환할 수 있습니다(물론 마이크로소프트도 가능하지만, 마이크로소프트보다 더 단순하게 느껴집니다)

참고문헌: https://www.cnblogs.com/woxpp/p/5012947.html

https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx

https://github.com/ServiceStack/ServiceStack/wiki

마지막으로 프로젝트 소스 코드를 첨부하세요!

관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다회답





이전의:System.NotImplementedException:“未实现该方法或操作。”
다음:Visual Studio는 Vim의 강력한 편집 기능을 추가해 이를 막기 어렵게 만듭니다!
게시됨 2018. 3. 6. 오후 3:28:29 |
봐, 어때?
게시됨 2019. 4. 14. 오후 8:08:39 |

봐, 어때?
게시됨 2019. 8. 8. 오전 8:29:02 |
서비스스택 웹 서비스
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com