일부 인터페이스가 있다고 가정 해 보겠습니다.WCF 서비스에서 인터페이스를 반환하려면 어떻게해야합니까?
public interface IFoo {
IBar DoesStuff();
}
public interface IBar {
string Thingo { get; }
}
코드베이스 전체에서이 코드를 사용하고 있습니다. IFoo 프로세스를 다른 시스템으로 옮겨야합니다 (x64와 x32의 차이). 이것이 WFC를 사용하는 이유입니다. 내 WCF 서비스가이 인터페이스를 구현합니다. "서비스 참조"를 만들면 프록시 스텁이 만들어 지지만 인터페이스가 변경됩니다.
public interface IFoo {
object DoesStuff();
}
차이점없이 DataService와 DataContract로 IBar/Bar를 정의 해 보았습니다. 인터페이스를 사용하여 프록시 코드를 생성 할 수 있습니까?
mock 객체가 테스트 용 인터페이스 객체를 생성 할 수 있다면 서비스를받을 수 없을 것입니다. 또는 어리석은 무엇을 잘못 했는가?
IBar를 구현 한 DataContract로 정의 된 배후 콘크리트 바 객체가 있다는 것이 확실한 경우 첫 번째 구문에서 나온 것이 아닙니다. 반환 된 객체에 동작이 없습니다. 그것은 속성 getters만을 포함합니다. 나는 getter가 메소드라는 것을 알고있다. 당신이 묘사하는 것은 궁극적으로 내가 한 일입니다. 다른 곳에서 처리하고 그 안에있는 데이터로 객체를 반환합니다. 데이터는 인터페이스로 정의됩니다. – Mike
btw 입력 해 주셔서 감사합니다! – Mike
WCF는 네트워크를 통해 개체 또는 인터페이스를 사용할 수 없게 만드는 대신 메시지 교환을 용이하게한다고 생각하십시오. WCF의] DataContract] 항목을 사용하면 클래스의 속성과 필드 사이를 메시지에 매핑하거나 그 반대로 연결할 수 있습니다.실제로 클래스에 연결되는 메시지 (클래스 또는 인스턴스)를 전송하지 않습니다. – Cheeso