私はサーバとクライアントを持つWCFアプリケーション(自然)で作業しています。サーバープロジェクトでは、私はコントラクト属性でクラスを定義しました。WCF:クライアントとサーバーで契約クラスをどのように維持する必要がありますか?
サーバーの準備ができたら、私はサービス参照を追加し、私のためにプロキシを作成しました。私はそれを使用し、それは正常に動作しました。
コントラクトアトリビュートを持つクラス定義を含む共通のDLLを作成し、(Visual Studioによってクライアント用に生成されたクラスを使用するのではなく)サーバーとクライアントの両方で使用する場合は、 。共通のクラスを使用する場合、自動コード生成中にジェネリックコレクションが配列に変換されることを心配する必要はありません。それは愚かですか?出来ますか?誰もこれを前にしたことがありますか?これはいいですか?
デプロイメントのシナリオでは、セキュアなイントラネットにクライアントの数が限られており、サーバーに変更があるたびに既存のクライアントを更新することができます。
それだけではありません。これらのクラスに変更があるたびにサービス参照を更新します。また、IDEによって生成されるコードが少なくて済むようになりました。 私はこのアプローチに従えば、標準/ガイドラインに違反したり、恐ろしいことをしていないことを保証したかっただけです。 – Hemant
変更を行うたびにサービス参照を更新する必要はありません。契約を変更したときにのみ更新されます。私はあなたが非常に頻繁にそれをしないことを願っています。 サービスファクトリ(http://www.codeplex.com/servicefactory)の使用を検討することもできます。クライアントとサービスを一緒に更新します。 –