2010-04-21 5 views
0

나는 공중 인터페이스 자동 생성 BU의는 svcutil 있습니다. 나는 WCF로 변환 하다며 시도하지만의 ServiceContract와 (뒤에 asmx.cs 코드) 때 악기 서비스를하고있다 : 또한WCF의 ServiceContract와는 svcutil 문제

[ServiceContract(Namespace = "...")] 
public class MyService : MyInterface 

내가 SVC는 파일을 cerated하고있는 config 파일에서는 system.serviceModel 설정을 추가 . 목표는 asmx 서비스를 WCF 서비스로 마이그레이션하는 것입니다.

나는이 오류가있어 :

형이면 MyService의 서비스 클래스는 둘 다의 ServiceContract를 정의하고 형하는 MyInterface에서의 ServiceContract을 상속합니다. 계약 상속은 인터페이스 유형에서만 사용할 수 있습니다. 클래스에 ServiceContractAttribute가 표시되어 있으면 ServiceContractAttribute가있는 계층 구조의 유일한 유형이어야합니다.

asmx 서비스가 여전히 정상적으로 작동 중입니다. .svc 만 내게 문제를주고 있습니다. 내 질문은 그것을 해결하는 방법입니다. MyInterface는 인터페이스이므로 문제가 무엇인지, 어쨌든 오류가 발생하는 이유는 알 수 없습니다.

참고 wsdl 스키마의 svcutil에서 자동 생성되며이 인터페이스를 수동으로 편집하지 않으려 고하므로 MyInterface를 변경하고 싶지 않습니다. 전체 아이디어는 WSDL에서 서비스 유형을 자동 생성하고 수동 편집으로 팀 개발 노력을 절약하는 것입니다.

도움을 주시면 감사하겠습니다.

답변

1

ServiceContractAttributeMyService 클래스에서 제거해야합니다. 이 특성은 인터페이스에 이미 정의되어 있으며이 인터페이스가 WCF 서비스로 노출되도록 지정하는 올바른 방법입니다. annswer에 대한

+0

덕분에, 내가 가르쳐하지만 서비스 계약을 제거 할 때이 오류가있어 그 무엇 : 계약 이름 '이면 MyService'는 서비스에 의해 구현 계약의 목록에서 찾을 수 없습니다 '이면 MyService '. – Valko

+0

내 구성 파일에서 계약의 이름이 잘못되었으므로 도움을 주셔서 감사합니다 .-) – Valko