2 つの WCF サービスをマスター サーバー (サード パーティによって管理され、そこにはあまりアクセスできません) に 1 つと、ローカル サーバーにもう 1 つ持っています。基本的に、ローカル サービスが存在する理由は、マスターがサービスが(何らかの理由で)オフラインになり、マスター サービスが利用可能になるたびにデータをアップロードし直します。
クライアント アプリケーションがデータ (マスター サービス/ローカル サービス) をヒットする場所を透過的に保つために、ローカル サービスをプロキシとして作成しています。つまり、クライアント アプリケーションはローカル サービスのみを呼び出し、マスター サーバーの状態をチェックしてデータを取得/投稿します。オフラインの場合は、ローカル キャッシュを使用し、利用可能な場合はデータをサーバーにプッシュします。
現在、マスター サービスにはいくつかの複雑な DataContract があり (それらは大量です)、実際のデータ コントラクト属性ファイル (サード パーティによって管理されています) にアクセスできず、追加された参照 (SOAP ) は複雑な型をローカルに作成しますが、DataMembers/DataContracts の代わりに XML シリアライゼーション属性を使用すると、型をそのまま再利用できませんか?
回避策はありますか、それともサードパーティを経由するか、契約を作成する必要がありますか?