문제

나는 나의 가치를 이해하는 세 가지 부분으로 서비스/호스트/클라이언트 모델에 의해 제공 WCF.하지만 그것이 나을 것 같 WCF 뭔가를했다 직접적이고 간단(ASMX 모델)엉망으로 만들겠습니까?

가 사용하는 대신 SvcUtil 의 명령줄 시간을 거슬러 단계를 생성하는 프록시는?ASMX 서비스와 테스트를 활용이 자동으로 제공된다;은 거기에 좋은 대안으로 오늘 WCF?

나는 감사하는 WS*물건은 더 단단히 통합되 WCF 고 희망을 찾는 일부에 대한 보수 WCF 있지만,geeze,그렇지 않으면 내가 난다.

또한,국가는 책을 사용할 수 있 WCF 은 심해에서 최고입니다.유발 Lowy,뛰어난 저자,가 O'reilly 참조 책"프로그래밍 WCF 서비스"그러나 그것은 하지 않는(나를 위해 어쨌든)에 대한 학습을 지금 사용하 WCF.그 책의 전조(고 좀 더 나은 조직,그러나,많은 수 없습으로 자)은 미셸 레녹스 Bustamante 의 학습 WCF.그것은 좋은 관광 명소하지만 오래된 장소에서 해당 웹 사이트는 간다.

당신은 좋은 WCF 학습 참조 외에 계속하기 위해 독 bejebus 것은?

도움이 되었습니까?

해결책

좋아요,여기 우리 이동합니다.첫째,미셸 레녹스 Bustamante 의 책 업데이트되었습니다 VS2008.웹사이트 이 책은 사라지지 않았습니다.그것은 바로 지금,그리고는 톤의 WCF 정보.웹사이트에서 제공한 업데이트 코드와 호환 VS2008 에 대한 모든 예제에서 그녀의 책입니다.주문할 경우,아마존에서 당신을 얻을 것이 재판입 업데이트됩니다.

WCF 지 대체 ASMX.확인 할 수 있습니다(그리고 아주 잘하지)대체 ASMX 지만,실제 혜택 할 수 있다는 당신의 서비스를 자기를 호스팅하겠다고 대답했습니다.대부분의 기능에서 WSE 되었습에서 구운 시작합니다.프레임워크 고도 구성 가능하며,봉사할 수 있는 능력을 여러 개의 끝점을 통해 여러 프로토콜라 IMO.

수있는 동안 당신은 아직도 생성 프록시 클래스에서"서비스 추가를 참조"옵션을,그것은 필요하지 않습니다.모든 당신이 정말로 해야 할 일은 복사 ServiceContract 인터페이스의 코드를 찾을 수있는 서비스에 대한 끝점,그리고 그것.할 수 있는 통화법 서비스에서 매우 작은 코드입니다.이 방법을 사용하여,당신은 완벽하게 제어 구현됩니다.에 관계없이 선택한 방법을 생성하는 프록시 클래스,미셸 모두 표시하고이 모두 사용에서 그녀의 시리즈의 웹캐스트를 확인할 수 있게 되었습니다.

미셸의 훌륭한 물질이 있고 확인하는 것이 좋습니 그녀의 웹사이트에(s).여기에 몇 가지는 링크 매우 도움이되었으로 나를 위해 배우고 있었 WCF.나는 당신을 실현하는 방법을 강 WCF 정말로,그리고 그것이 얼마나 쉽게 구현할 수 있습니다.학습 곡선이 조금 가파르지만,보상을 위한 당신의 시간을 투자 가치가 있다:

나는 당신을 추천한계 적어도 1 의 미셸의 웹캐스트.그녀가 매우 효과적인 증여자,그리고 그녀는 분명히 믿을 수 없을만큼 지식이 올 때 WCF.그녀의 큰 일을 demystifying 의 내부 동작 WCF 니다.

다른 팁

나 hardtime 을 볼 때 나는 또는 사용하는 것 WCF.왜?기 때문에 나는 생산성과 단순성의 상단에 내 목록입니다.왜 ASMX 모델서 성공적인,작동하기 때문에,당신은 그것을 얻을하는 작업을 빠르다.과 함께 대 2005.NET2.0wsdl.exe 었다 뱉는 매우 좋은 및 준수 서비스입니다.

실제 생활에서 당신이 있어야에 매우 몇 가지의 통신 프로토콜에서 건물입니다.이것은 간단한 유지 관리할 수 있습니다.필요하신 경우에는 대한 액세스를 레거시 시스템,쓰기,특정 어댑터 그들을 위해 그들이 그렇게 함께 즐길 수 있습에서 좋은 반짝이는 아름다운 SOA world.

WCF 보다 훨씬 강력 ASMX 고 그것을 것이다:그것은 여러 가지 방법으로.ASMX 한 HTTP,반면 WCF 사용할 수 있는 여러 프로토콜에 대한 통신(허용,HTTP 은 방법이 여전히 대부분의 사람들은 그것을 사용하기에 적어도 서비스를 위해야 하는 상호 운용 가능).WCF 도 쉽게 확장할 수 있습니다.적어도,그것은 연장이 가능한 방법으로는 ASMX 연장될 수 없습니다."Easy"될 수 있습 그것을 스트레칭.=)

추가 기능을 제공하 WCF 를 훨씬 능가 복잡성을 추가,다.또한 느끼는 프로그래밍 모델이 더 쉽습니다.DataContracts 는지를 직렬화를 사용하여 XML 직렬화를 대중과 속성에 대한 모든 것,예를 들어.그것은 또한 더 많은 선언은 자연에서는 또한 좋습니다.

니다....당신은 이제까지 사용이다.즉,원인은 그 실제 것은 그 자체..NET 원격은 매우 복잡한 자체입니다.내가 찾 WCF 더 쉽고 효율적으로 배치됩니다.

나는 그것을 보지 않는 자주 언급된 충분한지만,당신 여전히 구현하는 간단 서비스로 WCF,매우 유사하 ASMX 서비스입니다.예를 들어:

[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class SimpleService
{
    [OperationContract]
    public string HelloWorld()
    {
        return "Hello World";
    }

}

당신은 여전히 등록의 끝 지점에서 당신의 웹입니다.config,하지만 그렇게 나쁘지 않다.

을 제거하의 자세한 정도로 구분된 데이터 서비스,그리고 작업 계약을 향해 먼 길을 간 만들기 WCF 더 관리습니다.

VS2008 포함하"서비스 추가를 참조하"컨텍스트 메뉴 항목을 만들 것입니다에 대한 프록시됩니다.

위에서 언급한 바와 같이 이전에,WCF 지로만 사용에 대한 대체 ASMX 웹 서비스 유형,그러나 제공하는 일관성,안전하고 확장 가능한 방법론에 대한 모든 상호 운용이 가능한 서비스 여부,HTTP,tcp,named pipes 또는 MSMQ 수 있습니다.

내가 고백하는 나는 기타 문제가 있으로 WCF(예:다시 쓰기 방법을 서명은 노출 하는 경우에는 서비스를 통해 basicHTTP 조 , 지만,전반적인 생각에 그것은 명확한 imrovement

를 사용하는 경우 VS2008 을 만들 WCF 프로젝트는 다음 당신은 자동으로 시험을 활용할 때는 히트를 실행/디버깅할 수 있 참조를 추가하지 않고 사용 svcutil.

내 초기 생각 WCF 정확히 동일하다!여기에 몇 가지 솔루션:

  1. 프로그램으로 자신의 프록시/클라이언트층을 활용하여 제네릭(클래스를 참조하십시오 ClientBase, 바인딩).내가 이것을 발견하지만,하드를 완벽하다.
  2. 를 사용하는 타사의 이행 1(SoftwareIsHardwork 나는 좋)

WCF 대체 위해 모든 이전 웹사 서비스 기술입니다.그것은 또한 더 많은 것보다는 전통적으로"웹 서비스".

WCF"웹 서비스"의 일부 훨씬 더 넓은 스펙트럼의 원격 통신이 활성화를 통해 WCF.당신을 얻을 것이 훨씬 더 높은 수준의 유연성과 휴대성에서 일을 WCF 을 통해 보다는 전통적인 ASMX 기 때문에 WCF 설계,땅 속에서,요약하면 다른 모든산 프로그래밍 인프라를 제공합니다.끝점에서 WCF 신할 수 있냥 쉽게 SOAP/XML 수 있는 TCP/바이너리 및 이를 변경하려면 중간은 단순한 구성 파일 mod.이론적으로,이의 양을 줄이고 새로운 필요한 코드를 포팅할 때 또는 변경하는 비즈니스 요구,표적,등등.

ASMX is older than WCF, and anything ASMX can do so can WCF (and more).기본적으로 당신이 볼 수있는 WCF 으로 노력하고 논리적으로 그룹이 함께 모든 다른 방법으로 얻기의 두 개의 앱을 통신의 세계에서 Microsoft;ASMX 단지 중 하나이다 그래서 지금 그룹에서 WCF 산의 기능입니다.

웹 서비스에 액세스할 수 있습을 통해서만 HTTP&그것은 작품에서는 무국적자는 환경 WCF 유연하기 때문에 그것의 서비스에서 호스트할 수 있는 다양한 유형의 애플리케이션.에 대한 일반적인 시나리오 호스팅 WCF 서비스 IIS,었고,자기를 호스팅,관리되는 윈도우 서비스입니다.

주요 차이점은 웹 서비스 사용 XmlSerializer.하지만 WCF 사용되며 데이터 계약으로 매핑됩은 더 나은 에서에 비해 성능 XmlSerializer.

에서 무엇을 시나리오야 WCF 사용

  • 안전 서비스하는 프로세스 비즈니스 트랜잭션이 있습니다.서비스
  • 공급 현재 데이터를 다른 사람과 같은 트래픽 보고서 또는 다른
  • 모니터링 서비스입니다.팅 서비스할 수 있는 두 사람들
  • 통신 또는 데이터 교환입니다.대시보드 응용 프로그램
  • 는 조사 중 하나 이상의 서비스를 위한 데이터를 가져와서 논리적
  • 니다.노출 워크플로를 사용하여 구현 Windows 워크플로
  • 기초로 WCF 서비스입니다.Silverlight 응용 프로그램 폴링
  • 에 대한 서비스는 최신 데이터를 공급한다.

기능 WCF

  • 서비스 오리엔테이션
  • 상호운용성
  • 여러 메시지 패턴
  • 서비스는 메타데이터
  • 데이터 계약
  • 보안
  • 다양한 전송 및 인코딩
  • 신뢰할 수 있고 대기 중인 메시지
  • 튼튼한 메시지
  • 트랜잭션
  • AJAX 및 나머지 지원
  • 확장성

출처: 주요 원본 텍스트의

MSDN?나는 보통과 꽤 라이브러리를 참조 자체가,그리고 나는 일반적으로 기대를 찾을 수 있는 귀중한 기사가있다.

의 측면에서 제공하는 것,제가 생각하는 대답입니다.ASMX 서비스었 Microsofty.하지 않는 말들이 몰려와 호환되는 다른 소비자;그러나 모델로 만들어지지 않았을 맞 많은 게 ASP.NET 웹 페이지 및 다른 사용자 지정 Microsoft 소비자 있습니다.반면 WCF 기 때문에,그것의 건축을 허용하는 서비스가 매우 개방형 표준--기반으로 끝점,예를 들어,REST,JSON,etc.또한 일반적인 SOAP.다른 사람들은 아마 더 많은 시간이 소요 WCF 서비스보다 ASMX 하나입니다.

(이 모든 것은 기본적으로 유추에서 비교 MSDN 을 읽고,그래서 더 많이 알고있는 사람 위에 올바른다.)

WCF 하지 않아야 될 것으로 생각 대체 ASMX.을 판단하는 방법에 위치하며 어떻게 사용되는 내부적으로 Microsoft 에 의해,그것은 정말 기본적인 건축 조각에 사용되는 모든 유형의 크로스 경계선 통신입니다.

내가 믿는 WCF 정말의 발전 ASMX 웹 서비스 구현에서는 많은 방법이 있습니다.첫째 그것이 제공하는 아주 좋은 계층 객체 모델을 숨기는 것은 본질적인 복잡성의 분산 애플리케이션.둘째로 당신이 할 수 있는 더 이상 요청을 재생 메시지 패턴을 포함,비동기식 알림서 서버 클라이언트(불가능을 가진 순수한 HTTP),그리고 셋째로 추상화하리 근본적인 전송 프로토콜에서는 XML 메시지고,따라서 우아하게 지원하는 HTTP,HTTPS,TCP 및니다.호환성을"1-st 세대"웹 서비스는 또한 플러스입니다.WCF XML 을 사용하는 표준으로 내부 표현 형식입니다.이로 인식 될 수 있는 장점이나 불이익,특히 성장 인기를"지방의 대안 XML"JSON.

어려운 찾을 수 있는 것으로 WCF 관리를 구성한 클라이언트와 서버,그리고 문제 해결에 이렇게 좋지 않 faulted 예외가 있습니다.

그것은 좋은 것으면 누구나 어떤 단축키나 팁이다.

내가 찾는 것은 고통;에서는 난이 있습니다.순도 양쪽 모두에서 동일한"계약"dll 을 로드 모두에서 끝납 등입니다.그러나 내가에 대한 혼란의 많은과 같은 세부 사항"KnownType"속성이 있습니다.

WCF 또한 기본값만 시키는 1 또는 2 클라이언트가 연결을 서비스할 때까지 변경이 많이 구성됩니다.변화하는 설정에서 코드가 쉽지 않은 배송을 많이 comfig 파일은 옵션이 아니다,그것은 너무 힘들을 병합하는 우리의 변경 내용으로 모든 변경 내용은 고객 만들 수 있습니다 시간에 업그레이드(는 또한 우리는 원하지 않는 고객에게 노 WCF 니다.)

.NET 원격하는 경향이 다 작업을 대부분의 시간입니다.

내 생각에 노력하고 니다.NET 니다.NET 개체 기반의 커뮤니케이션이 동일로 보내는 비트의 텍스트(xml)알 수 없는 시스템이었다.

(몇 시간이 우리가 사용 WCF 이야기를 Java 시스템,우리가 발견 XSD java 시스템 준 밖으로 일치하지 않았다 무엇 XML 그것이 원하는 어쨌든,그래서를 손으로 코드는 많은 XML 매핑됩니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top