2

入力パラメーターの検証をWCFサービスのセットに追加する標準的な方法を探しています。

Fluent検証http://fluentvalidation.codeplex.com/とEntLib検証アプリケーションブロックを比較できる人はいますか?

それぞれの長所/短所は何ですか?

どちらかを使用する必要があるシナリオは何ですか?

私の質問は、.netプロジェクトにどの検証フレームワークをお勧めしますか?に似ています。選択する検証フレームワーク: SpringValidationまたはValidationApplication Block(Enterprise LIbrary 4.0)?、しかし、これらの質問への回答には詳細な比較がありません。

他の同様のテクノロジーが推奨されるかどうかを教えてください(理由を説明して)

誰かが両方のフレームワークの経験があり、プロジェクトにどちらかを選択しますか?決定の理由は何でしたか?

4

1 に答える 1

1

数か月後、EntLib Validation Application ブロック (VAB) は、コード、属性、および構成の検証をサポートする成熟したライブラリであると答えることができます。

ほとんどの場合、開発者は、最も簡単で簡潔な方法として、DataContract リクエストの DataMember プロパティの属性検証から始める必要があります。

検証ルールが頻繁に変更されることが予想される場合、またはアプリケーションの異なるインストールでは同じプロパティに対して異なるルールが必要になることが予想される場合 (たとえば、国によって郵便番号のルールが異なる場合)、構成を選択する必要があります。簡単ではなく、学習が必要ですが、柔軟性は利点です。EntLib 構成エディターは、簡単にするのに役立ちます。

属性や構成を使用して表現できない複雑なルールの場合にのみ、コードを記述する必要があります。同じルールを数回繰り返す場合は、カスタム バリデータと検証属性を作成することを検討してください。

Fluent 検証ライブラリは、あまり望ましくない方法であるコードでの検証の追加をサポートしています。ですから、Fluent 検証がなぜ人気があるのか​​、私にはわかりません。また、  Fluent 検証の作成者がEntLib VAB に精通していないことにも驚きました。

私の最初の質問は、WCF 操作の入力パラメーターに関するものでした。ただし、ベスト プラクティスでは、複数の RPC スタイルの単純なパラメーターではなく、単一の要求パラメーターをデータ コントラクトとして使用することをお勧めします。とにかく、VAB は WCF 操作の個々のパラメーターの属性を提供し、より簡潔なビューを提供します (たとえば、  http://www.codeproject.com/Articles/259327/Integrate-Validation-Block-with-WCFを参照してください)  。

于 2013-03-19T11:15:16.430 に答える