나는 닷넷을 처음 접했고 차이점을 이해하지 못한다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?asp.net 웹 메서드와 wcf 서비스의 차이점은 무엇입니까?
답변
서비스 작성을위한 두 가지 프레임 워크입니다. WCF는 일반적으로 더 유연하며 사용되는 프로토콜, 서비스 호스팅 방법 및 다양한 보안 옵션에 대해 구성 가능한 옵션을 제공합니다. ASMX는 SOAP 기반 서비스를 제공합니다. 일반적으로 WCF도 performant입니다. 일반적으로 ASMX는 사용하기가 쉽고 일반적으로 학습 곡선이 적습니다.
ASP.NET 웹 서비스는 HTTP를 통해 SOAP (Simple Object Access Protocol)를 사용하여 메시지를 보내고받는 응용 프로그램을 작성하기 위해 개발되었습니다.
WCF는 .NET Framework 응용 프로그램이 다른 소프트웨어 엔터티와 메시지를 교환 할 수 있도록하기위한 것입니다. SOAP는 기본적으로 사용되지만 메시지는 어떤 형식이든 전송 프로토콜을 사용하여 전달할 수 있습니다.
ASP.NET 웹 서비스를 WCF 서비스의 하위 집합으로 볼 수 있습니다.
Here은 두 프레임 워크를 비교하는 링크입니다.
두 가지가 모두 함께 있습니다. WCF는 하나의 서비스 유형 구성 요소를 작성하고 다양한 방식으로 배포 할 수있는보다 일반적인 프레임 워크입니다 (Asp.Net 웹 서비스와 같은 경우도 있음).
여기가 차이를 아는 것이 매우 쉽습니다이 http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/2d6a7ff2-f15c-4599-a389-a81cfffcc852/
에 대한 간단한 스레드입니다.
ASP.NET 웹 방법은 [때문에 파일 확장자] ASMX가 호출
그 기술이에서 연결할 수 있도록 웹 서비스 등의 기능을 노출한다 (이것에 대해 4GuysFromRolla을 확인, 그들은 good tutorial가 있습니다) 어디에서나 사용하십시오. 그러나 ... 당신은 서버와 클라이언트 사이의 데이터를 보호 할 수 없습니다, 당신은 큰 파일을 분명하고 무슨 일이 있었는지 알고 보낼 수 있습니다 ...
[참고] 당신은 웹 서비스에 대한 액세스를 보호 할 수 있습니다 인증서가 있지만 복잡하지만 일반적으로 ASMX에서는 username/password를 사용합니다. WCF에서
(당신이을 차이 ...서비스!하지 웹 서비스를 볼 수 있습니다) 당신은 웹 서비스에 대한 다른 세계에있는,이 서비스를 노출하는 .NET에서 최고의 기술을이야 WCF는 IIS를 실행할 필요가 없으며 콘솔 앰비언스 (명령 줄과 같은)를 사용하여 서버에서 시스템 서비스로 실행할 수 있으므로 WCF는 웹 서비스가 아닌 서비스라고합니다. ASMX가 IIS를 실행할 필요가 있음을 기억하십시오. WCF와
당신이 (ASMX 당신이 WSE 사용할 필요가 있다고 할 - 웹 서비스 향상을) 통신을 암호화하는 SSL을 사용할 수 있습니다 당신은 ASMX에서 사용할 필요가 있다고 할 (큰 파일을 전송하고 안전하게 할 수 있습니다, MTOM - 메시지 전송 최적화 메커니즘).
당신은 단지 한 줄의 코드를 변경 전송 환경을 설정할 수는 보안 등, 등 :
당신이 가진 더 나은 일반적인 개요를 희망하지만, 훨씬 더 많은 것이, 훨씬 높다.
하단 줄 : 보호 할 필요가없는 웹 서비스를 노출하려면 ASMX를 사용할 수 있지만 전혀 문제가되지 않지만 어떻게 든 통신을 보호해야하는 경우 WCF에서 수행하십시오!
링크은 : 위의 답변에 추가 you can read here some performance comparative between the 2 services
+1 덕분에, 훌륭한 세부 사항 –
, WCF는 .NET 3.0 및 이상 .NET Remoting을 대체하기 위해 만들어졌습니다. WCF는 다양한 형식 (예 : XML 및 JSON)의 SOAP, REST, POX 등의 웹 서비스 외에도 MSMQ 및 Named Pipes도 제공합니다. 위에서 언급 한 ASMX는 SOAP 기반 XML 웹 서비스 만 제공합니다.
다른 통신 프로토콜 유형의 경우 .NET Remoting으로 파고들 필요가 있습니다. 자세한 내용은 Pro C# 2008 and the .NET 3.5 Framework을 확인하십시오. 훌륭한 리소스이므로 .NET Remoting 및 이전 된 다른 기능을 다루는 이전 책에서 장을 얻을 수 있습니다.
나는 동일한 문제가있었습니다.
Microsoft Windows Communication Foundation Step by Step이 정말 좋습니다.
당신이 단지는 WCF를 사용하여 기존의 웹 서비스의 일을하고 싶은 경우에, 그 책의 제 1 장 정확히 어떻게을 수행하는 (쓰기 서비스, 테스트, 사용, 서비스를 전개)을 보여줍니다.
VS2005 용으로 작성되었지만 vs2008을 사용하고있어보다 쉽게 찾을 수 있습니다.
WCF에는 더 많은 것이 있지만 그 책은 좋은 출발점입니다.
+1 –
새롭고 큰 차이점은 다음과 같습니다. 이제 Microsoft는 ASMX 웹 서비스를 "레거시"기술로 간주합니다. "XML Web Services Created Using ASP.NET and XML Web Service Clients"을 참조하십시오.
+1에 대한 링크를 주셔서 감사합니다. 이전에 다른 게시물에서 언급했듯이 중요한 포인트입니다. – RichardOD
이 항목의 머리글 : "이 항목은 레거시 기술에만 해당되며 XML 웹 서비스 및 XML 웹 서비스 클라이언트는 이제 WCF (Windows Communication Foundation)를 사용하여 만들어야합니다." –
웹 서비스
그것은 단지 HTTP를 통해 액세스 할 수-
그것은 비 저장 환경에서 작동
- 자사의 서비스가 다른 유형에서 호스팅 할 수 있기 때문에
WCF
WCF는 유연 응용 프로그램의. WCF 서비스를 호스팅하기위한 다음 목록 몇 가지 일반적인 시나리오 :
- 는
- 는 WAS IIS
- 자체 호스팅
- 웹 서비스와 WCF 사이
주요 차이점은 다음과 같습니다 Windows 서비스를 관리 .
웹 서비스 : 웹 서비스는 인터넷을 통해 다른 응용 프로그램과 직접 상호 작용하도록 설계된 응용 프로그램입니다.
1) [WebService] 및 [WebMethod] 속성은 웹 서비스 및 메서드를 정의합니다.
2) HTTP를 통해서만 액세스 할 수 있습니다.
3) IIS에서 호스팅됩니다.
4) 보안 서비스를 지원하십시오.
5) 다중 스레드 할 수 없습니다.
6) 사용 된 비누 또는 XML 만 사용하십시오. 구성 및 네트워크 분산 서비스를 배포, 윈도우 커뮤니케이션 파운데이션 (코드 인디고 이름) 구축을위한 프로그래밍 플랫폼과 런타임 시스템입니다 :
7) System.Xml.serialization 이름 공간은 직렬화
WCF가 사용됩니다.
1) [ServiceContract] 및 [OperationContract] 특성은 웹 서비스 및 메서드를 정의합니다.
) HTTP, TCP, MSMQ, P2P, 명명 된 파이프를 통해 액세스
3) IIS, 자체 호스팅, WAS 및 Windows 서비스에서 호스팅됩니다.
4) 서비스 동작 클래스를 통해 다중 스레드 될 수 있습니다.
5)들은 System.Runtime.Serialization 네임 스페이스가 직렬화
6)에 사용됩니다 WSDualHttpBinding,은 BasicHttpBinding, WsHttpBinding과 같은 바인딩의 다른 유형을 지원하는 등
7) 보안 서비스, 신뢰할 수있는 메시징, 트랜잭션, AJAX와 REST 지원을 지원
- 1. API와 웹 서비스의 차이점은 무엇입니까?
- 2. 메서드와 선택기의 차이점은 무엇입니까?
- 3. DDD 서비스와 WCF 서비스의 차이점은 무엇입니까?
- 4. WCF 웹 서비스의 새로운 점
- 5. WCF 웹 서비스의 위임
- 6. WCF 웹 서비스의 System.OutOfMemoryException
- 7. ASP.NET : 단순형 및 복합 형 웹 서비스의 차이점은 무엇입니까?
- 8. 저장소와 서비스의 차이점은 무엇입니까?
- 9. WCF 웹 서비스의 동적 URL
- 10. WCF 공용 웹 서비스의 보안
- 11. WCF 서비스의 이름은 무엇입니까?
- 12. 자바 (jax-ws) 웹 서비스와 .net 웹 서비스의 차이점은 무엇입니까?
- 13. NavigationService.Navigate() 메서드와 PhoneApplicationFrame.Source 속성의 차이점은 무엇입니까?
- 14. OnLoad 메서드와 Load 이벤트의 차이점은 무엇입니까?
- 15. ado.net 데이터 서비스와 WCF 데이터 서비스의 차이점은 무엇입니까?
- 16. 분산 서비스와 비 집중 서비스의 차이점은 무엇입니까?
- 17. ASP.NET 웹 서비스의 정적 필드
- 18. WCF 서비스의 App_Data에 액세스하십시오.
- 19. 웹 서비스의 요점은 무엇입니까?
- 20. WCF 웹 서비스의 스트리밍 응답 모범 사례
- 21. WCF 웹 서비스의 IIS 호스팅 문제 마이그레이션
- 22. 웹 또는 WCF 서비스의 싱글 톤
- 23. MVA와 ASP.NET 웹 양식 간의 차이점은 무엇입니까?
- 24. WCF 서비스의 인증
- 25. Windows 서비스의 WCF
- 26. WCF 데이터 서비스의 MergeOption
- 27. 페이지 메서드와 웹 서비스
- 28. 공장, 공급자 및 서비스의 차이점은 무엇입니까?
- 29. 백그라운드 서비스와 포 그라운드 서비스의 차이점은 무엇입니까?
- 30. 트위스트 플러그인과 트위스트 서비스의 차이점은 무엇입니까?
+1 링크에 대한 감사와 좋은 명확한 설명 –