2

私は検証アプリケーションブロックを初めて使用し、wcf で使用しようとしています...

検証アプリケーション ブロックを使用して、属性で定義された検証ルールを持つデータ オブジェクトを持つ wcf サービスがあります。

私のクライアント側 (WPF) には、サービス参照があります。サービス参照を更新すると、生成されたクラスに検証ルール属性が含まれていません。

サービスからルールを取得するにはどうすればよいですか? いくつかのステップが欠けていますか、それとも不可能ですか?

4

1 に答える 1

3

[サービス参照の追加] を使用すると、サービスのプロキシ クラスが作成されます。ただし、これによりすべての検証属性が保持されるわけではなく、サービス メタデータに対応するプロパティが作成されるだけです。検証規則を保持するには、WCF と WPF の間でサービスとデータ コントラクトを共有する必要があります。

これを行うには、すべてのサービス コントラクトとデータ コントラクトをアセンブリに移動します。WCF と WPF の両方がこのアセンブリを参照する必要があります。その後、 ClientBaseまたはChannelFactoryを使用して独自のプロキシ クラスを作成できます。

WCF と WPF の両方が VAB 属性で注釈が付けられた同じクラスを参照しているため、Enterprise Library を使用して WCF と WPF の両方で検証を呼び出すことができます。

于 2010-04-23T00:47:32.750 に答える