2010-06-22 4 views
5

VS2005 및 Mobile Device .NET CF 프로젝트에 WebService 프로젝트가 있습니다. WebService에 웹 참조를 추가하므로 Reference.cs에 프록시 클래스가 생성됩니다. 내 문제는 또한이 인터페이스를 구현하는 순수한 인터페이스 생성 및 프록시 클래스를 갖고 싶습니다. 이 인터페이스를 사용하여 WebService를 사용할 수 없을 때 폴백으로 사용자 지정 구현을 제공하려고합니다. VS2005 및 WSDL 생성기로 가능합니까?.NET WebReference to Webservice - 프록시 클래스와 함께 인터페이스 생성

감사합니다.

답변

6

나는 서비스를 위해 프록시에 의해 구현 된 인터페이스를 생성하는 방법을 모른다.

생성 된 프록시 클래스에 대해 Refactor-> Extract Interface를 사용할 수 있습니다. 이후에 프록시를 상속하고 추출 된 인터페이스를 구현하는 래퍼 클래스를 작성할 수 있습니다. 래퍼 클래스를 작성하는 대신 생성 된 프록시 클래스를 조정하여 추출 된 인터페이스를 구현한다고 말할 수 있습니다. 두 번째 방법 선택의 단점은 일반적으로 좋은 아이디어가 아닌 자동 생성 코드를 사용하는 것입니다.

9

@Koynov에는 기본적인 아이디어가 있습니다. 그러나 프록시 클래스에서 상속하는 대신 다른 부분 클래스 부분을 만듭니다. 서비스의 이름이 MyService이고 웹 참조의 이름이 "Proxy"이고 기본 네임 스페이스가 "네임 스페이스"라고 가정하면 "Proxy"라는 새 폴더를 만듭니다. 해당 폴더에서 MyService라는 새 클래스를 만듭니다.

namespace Namespace.Proxy 
{ 
    public partial class MyService : IMyService 
    { 
    } 
} 
+0

이것은 훨씬 더 깨끗합니다. +1 – Koynov