2016-05-11 2 views
0

現在、Catelでいくつかの例を作成しています。Catel - サービスベースアプリケーションでModelBaseを "データ転送オブジェクト"として使用

私が考えているシナリオ:WCF DataServiceの

  • WPF(またはシルバー)クライアント
  • 私の "問題" と

    • データベースサーバ
    • のWebServer:

      Webサーバーとクライアントで検証コードを繰り返すことは望ましくありませんが、問題は "ModelBase"というものですDataServiceデータ転送オブジェクトとして機能しません。
      (追加のプロパティはすべての種類の問題を作成します)

      どのように通常その問題に取り組んでいますか?

      が気になるいくつかのアイデアがあります。

      • (認証されたユーザーは信頼できる?!)
      • は全くWCF-のDataServiceを使用しますが、カスタムを作成しないでください、再びサーバに検証しませんWCF-サービス(多分フードの下EntityFrameworksのDB-コンテキストを使用している)

      両方とも「ソリューション」は非常に良い音はありません...

      よろしく
      Johannes Colmsee

    答えて

    0

    最初の注記:は常にサーバーで検証し、クライアントを信頼することはありません。

    解決策は、共有コードで共有プロジェクトを作成することです。そこでは、サーバーとクライアントの両方で(同じコードベースで)検証を共有できます。

    +0

    共有コードは?私のモデルクラス?インターフェイス上で動作する "バリデータークラス"? (具体的な顧客タイプの代わりにICustomerですか?) –

    +0

    何でもかまいません。モデルの内部で検証を続けることを好む人もいれば、モデルを外部に保つ人もいます。モデルを共有したい場合は、モデルを共有します(検証を使用)。それ以外の場合は、共有インターフェースを実装し、(ValidationContextを作成する)カスタムバリデータを簡単に使用できるようにすることができます。 –

    関連する問題