3

1 つのプロジェクトに wcf サービスがあり、別のプロジェクトにすべてのオブジェクトを保持するオブジェクト モデルがあります。サービス プロジェクトにオブジェクト モデルへの参照を追加し、サービス内で問題なくオブジェクトを使用できるようになりました。

私がサービスを公開し、他のユーザーがそれを使用するとき。無効なデータとスキーマを入力でき、サービスは失敗しません。

サービスをオブジェクト モデルに接続する必要があります。ユーザーがオブジェクトのスキーマに従わない場合、サービスは自動的に失敗します。

おそらくweb.configで構成を設定する必要があるかどうかわかりませんか?

私が理解していないのは、オブジェクトのプロパティを必須に設定した場合です。ユーザーがこのプロパティをサービスに渡されるオブジェクトに追加しない場合、サービスが自動的に停止しないのはなぜですか?

[DataMember(IsRequired = true)]
        public string VendorName { get; set; }
4

1 に答える 1

2

WCF 自動化アプローチ

WSDL コントラクトに対する WCF 検証を自動化するには、この MSDN ブログで共有されてWsdlExporterいる を使用できます。

WCF の生のアプローチ

  1. WCFスキーマ検証動作拡張を使用できます。カスタムBehaviorExtensionにより、定義されたスキーマのデータ検証を実施できます。

  2. また、WCFパラメーター検証動作拡張機能を使用して、パラメーターの制約を適用することもできます。

    WCF入力/データ検証に関する FAQについては、MSDN を参照してください。

WCF 検証の解説

WCF の入力/データ検証が実行されない理由については、この素晴らしい SO 投稿も確認してください。

WCF を使用した XML メッセージングの4 つの原則も、スキーマの検証に関する興味深い視点を提供します。

于 2012-04-25T14:46:06.307 に答える