シンプルなクライアント サーバー アプリケーションを作成しました。サーバーに変更を加えるときは、サービス参照を削除して再作成し、サーバー アプリケーションに加えた変更を反映します。
サーバー アプリケーションに変更を加えるたびに再作成する必要がありますか、またはサービス参照を自動的に更新する方法はありますか?
ありがとう
シンプルなクライアント サーバー アプリケーションを作成しました。サーバーに変更を加えるときは、サービス参照を削除して再作成し、サーバー アプリケーションに加えた変更を反映します。
サーバー アプリケーションに変更を加えるたびに再作成する必要がありますか、またはサービス参照を自動的に更新する方法はありますか?
ありがとう
基本的な答えはおそらく「はい」です。
WCF と分散アプリケーションの利点は、クライアントとサーバーが別々に進化できることです。新しいバージョンのサービスを利用するようにクライアントを更新することは、意識的に選択する必要があります。
もちろん、開発中はこれが苦痛になる場合があります。この問題を軽減するにはいくつかの方法があります。
確かにもっと多くの(そしておそらくもっと良い)アプローチがありますが、これらはすでにあなたを助けるかもしれません.
場合によります、
既存の機能を変更せずに機能を追加するだけで、クライアントが新しい機能を必要としない場合、答えは No です。
これは、「IsRequired」DataMember 属性プロパティの背後にある考え方です。データ コントラクトに新しいフィールドを追加し、それを IsRequired = false としてマークすると、既存のシステムは古いコントラクトを使用してサーバーとやり取りできます。
明らかに、新しいメソッドを追加しても古いコントラクトが壊れることはありません。クライアントは新しいメソッドについて知りません。