0

2つのアセンブリを参照するクライアントがあります。WCFサービスとdataContractsを含むDLLです。

同時に、クライアントは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>

返信ありがとうございます。

4

1 に答える 1

1

わかりました。これはWCFの優れた機能のようです。データコントラクトをプロキシする代わりに、DataContractsを含むdllを再利用(マップ)します。

更新:私はそれをより大きなソリューションで試しましたが、それは魅力のように機能します。たくさんの(名前空間)の代わりにDEBUGの場合は1つだけです:

#if DEBUG
    static Service client = new Service();
#else
    static ServiceClient client = new ServiceClient();
#endif
于 2012-08-23T20:16:16.427 に答える