2012-04-16 5 views
15

저는 현재 구축중인 응용 프로그램을 가지고 있으며 잠시 동안 ASMX를 사용하여 일부 웹 서비스를 작성했습니다. 결국 응용 프로그램은 하늘빛에 배치됩니다. 웹 서비스는 모든 작업을 처리하는 AppCode 폴더의 클래스를 호출한다는 점에서 매우 간단합니다.asmx to WCF 또는 Web API

내 웹 서비스를 WCF 또는 웹 API로 옮기는 것이 더 쉽고 빠르며 더 성능이 좋을까요?

의견을 보내 주셔서 감사합니다.

추신 : 나는 웹 서비스가 HTTPS에서 작동해야한다고 덧붙이고 싶습니다. 현재 개발 모드에 있기 때문에 HTTP를 사용하고 있습니다.

+1

ServiceStack에 대한 투표 - http://www.servicestack.net – Phill

답변

18

한 줄 : 이미 작동중인 코드가 있고 작동 코드가있는 다른 기술로 옮기는 것이 위험합니다.

누가 응답하고 있는지에 따라 다릅니다.

웹 API는 HTTP를 사용하며 ASMX 및 WCF에서는 불가능한 유연성을 제공합니다. HTTP, 컨텐트 협상, 미디어 유형에 관심이 있다면 어떤 클라이언트 (AJAX 포함)에서 웹 서비스를 호출해야 서비스가 필요합니다.

WS * 보안 표준 (예 : X509 인증서, ADFS 등)을 사용하고 바인딩을 변경하거나 다른 바인딩, 확장 성 등을 사용하여 다른 클라이언트에게 제공해야하는 경우 WCF를 사용하십시오.

이미 작동중인 코드가 있고 RPC가 걱정되는 경우 클라이언트는 항상 ASMX를 사용하고 ASMX를 사용합니다.

성능

없음 벤치 마크하지만 내 직감, 내림차순의 : 웹 API를 ASMX, WCF

쉽게

내림차순 : ASMX (당신이 그것을 알고 있기 때문에), 웹 API, WCF

빠른 개발

당신이 그들 모두를 알고있는 경우 웹 API와 ASMX 다음 WCF

,

추 신 : 새로운 기술을 습득하는 것이 좋습니다. 일들이 진행되는 방식 (그리고 이미 Azure로 옮겨 가고 있기 때문에) 새로운 기술에 투자하는 것이 중요합니다.

+0

안녕하세요! WS는 개발 ​​중이므로 ASMX에서 작동합니다. 나는 ASMX에서 벗어나고 싶다. 언급 한 보안 고려 사항을 주셔서 감사합니다. HTTPS에서 작동하도록해야합니다. – frenchie

+1

@frenchie이 경우 웹 API를 사용할 것입니다. – Aliostad

+0

ASMX 서비스는 Azure의 HTTPS를 통해 잘 작동합니다. 끝점을 추가하고 인증서를 할당해야합니다. 프로덕션에서 ASMX를 사용하는 것에 대해 투표를하지는 않겠지 만 작업 할 수 있음을 알려드립니다. –