私のサービスでは、特定の必須パラメーターを除くすべてのメソッドとすべての入力パラメーターがメッセージ コントラクト内にカプセル化されています。
現在、すべてのサービス メソッドで入力を検証しています。これは、すべてのサービス メソッドで検証ロジックを複製するようなものです。これらすべての検証を共通の場所に移動する方法はありますか?さらに、入力が無効であるため、サービスメソッドを実行したくありません。
あなたの提案に感謝します。
私のサービスでは、特定の必須パラメーターを除くすべてのメソッドとすべての入力パラメーターがメッセージ コントラクト内にカプセル化されています。
現在、すべてのサービス メソッドで入力を検証しています。これは、すべてのサービス メソッドで検証ロジックを複製するようなものです。これらすべての検証を共通の場所に移動する方法はありますか?さらに、入力が無効であるため、サービスメソッドを実行したくありません。
あなたの提案に感謝します。
はい、リクエストごとにFluentValidatorMessageContract
を使用できます。
共通の検証ルールを持つリクエストの共通バリデーターを作成できます。
例: 両方CreateEmployeeRequest
で従業員プロファイルを検証する必要がある場合UpdateEmployeeRequest
は、従業員プロファイル ( ) の共通バリデータを記述し、EmployeeProfileValidator
従業員リクエスト バリデータの作成と更新でこのバリデータを利用できます。
Enterprise Library Validation Application Blockには、 WCF と統合するためのモジュールがあります。
入力検証を WCF パラメーター インスペクターとして実装します。パラメータが検証に失敗した場合、メソッドは呼び出されません。