2012-08-23 12 views
0

두 개의 어셈블리 (dataContracts가 포함 된 WCF 서비스 및 DLL)를 참조하는 클라이언트가 있습니다.DataContracts에 대한 WCF 클라이언트 참조 (데이터 소스가 자동으로 생성 됨)

동시에 클라이언트는 WCF 서비스의 WSDL을 사용합니다. 문제는 서비스 참조가 DataContracts (서비스 메소드 만)를 프록시 화하지 않는다는 것입니다. 대신 DataContracts를 'Properties/DataSources /'폴더에 넣습니다. 각각은 'datasource'라는 확장자를 가지고 있습니다. 열면 다음과 같은 XML이 나타납니다 :

<?XML version="1.0" encoding="utf-8"?> 
<!-- 
    This file is automatically generated by Visual Studio .Net. It is 
    used to store generic object data source configuration information. 
    Renaming the file extension or editing the content of this file may 
    cause the file to be unrecognizable by the program. 
--> 
<GenericObjectDataSource DisplayName="DataContractClass" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource"> 
    <TypeInfo>MySolution.ContractClasses, MySolution, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo> 
</GenericObjectDataSource> 

미리 감사드립니다.

답변

1

좋아, 이제는 WCF의 멋진 기능인 것 같습니다. DataContracts가 포함 된 dll을 재사용 (매핑)하는 대신 datacontracts를 프록시 처리하는 것입니다.

업데이트 :

#if DEBUG 
    static Service client = new Service(); 
#else 
    static ServiceClient client = new ServiceClient(); 
#endif 
: 나는 더 큰 솔루션을 시도하고 그것이 마치 마법처럼 작동, 난 그냥 하나의 DEBUG 대신 많음의 경우 (네임 스페이스)이