2012-03-22 2 views
1

약 12 ​​개의 C# 프로젝트 및 사이트에서 웹 서비스를 사용하고 있습니다. 내 웹 메소드 (클래스 유형) 중 하나의 리턴 유형이 새 특성을 추가하도록 변경되었습니다. 내가 일하고있는 (12 개) 프로젝트 중 하나는 업데이트 된 참조 클래스가 클라이언트 측의 새로운 속성 변경을 반영하고 잘 작동한다는 것입니다.새 웹 서비스에서 이전 웹 참조 클래스 사용 중?

제 질문은이 서비스를 참조하는 다른 11 개 프로젝트의 경우이 변경 사항이 반영되도록 로컬 프록시 클래스를 업데이트하지 않을 것입니다. 기본적으로이 웹 메서드에 대한 요청 (업데이트 된 반환 형식 사용)이 만들어지고 응답에 새 필드가 있지만 로컬 클래스 속성에 바인딩 할 수없는 경우 중단됩니까?

답변

1

웹 서비스의 입력을 변경하지 않으면 중단 될 것이라고 생각하지 않습니다. 우리는 항상 새로운 기능, 속성 등을 서비스에 추가하고 새로운 기능을 사용할 사이트 만 업데이트합니다. 문제는 입력 내용을 변경할 때와 서비스가 기대하는 것입니다. 또는 반환되는 값의 유형을 변경하면 수신 프로그램에서 한 가지 예상하지만 현재 잠재적으로 다른 유형/값을 수신 중입니다.

나는 괜찮을 것이라고 생각하지만 여전히 확인을 확인하기 위해 이전 참조를 사용하는 사이트에서 테스트하는 것이 좋습니다.

+1

원본 질문에 "내 웹 메서드 (클래스 형식) 중 하나의 반환 형식이 새 속성을 추가하도록 변경되었습니다."라는 명확한 질문이 있습니다. 그래서 그것은 큰 변화입니다. – JotaBe

+0

하지만 새 서비스를 추가하는 것만으로도 요청한 서비스가 특정 주문을 찾지 못하는 경우 서비스를 중단 할 수 없습니다. 기회는 좋지만 반드시 깨질 것은 없습니다. – Robert

0

다릅니다.

Service versioning

이 사건에 대해 "데이터 계약 버전 관리"를 참조하십시오 : 당신이 당신의 웹 서비스를 노출하는 WCF를 사용하는 경우 버전을 사용할 수 있습니다.

.asmx 서비스를 사용중인 경우 실패합니다.

+0

ASMX 서비스를 사용하고 있습니다. –

+0

내가 실패한다고 말했더라도, 시도해보십시오. 프레임 워크 버전에 따라 때때로 새 속성을 추가하는 것이 허용됩니다. 그것은 클라이언트 측에 의존합니다. – JotaBe

+0

서비스의 반환 형식 클래스에 속성을 추가하고 로컬 업데이트하지 않았으며 웹 참조를 새로 고치지 않았습니다. 감사. –

0

나는 그것을 깨뜨리지 않는다고 결정했다. 답장을 보내 주셔서 감사합니다.

관련 문제