ユーザー名がすでに存在するかどうかを確認するカスタム検証があります。クライアントで正常に機能します。つまり、既存のユーザー名を入力すると、検証エラーメッセージが表示されます。送信を押すと、DomainContextが初期化されていないというエラーメッセージが表示されます。
ドメインサービスファクトリ(Global.asax.cs)を使用してドメインサービスを作成し、ユーザーをパラメーターとしてドメインサービスコンストラクターに追加します。これがエラーの原因のようです。
カスタム検証(参照:http://jeffhandley.com/archive/2010/05/26/asyncvalidation-again.aspx)では、メソッドを呼び出すドメインコンテキストコードはクライアントから正常に機能しますが、ドメインサービスにはユーザーなので、次を使用しました。「newAuthenticationService()。GetUser()」を使用してユーザーを取得しました。これは、FormsAuthentication GetUserメソッドが、DomainContextが初期化されていないことを示すエラーメッセージを表示するため、機能しません。
これが正しいかどうかはわかりませんが、認証をServiceProviderとして使用してDomainServiceContextを作成しようとしましたが、参照されていることがはっきりとわかる場合、System.ServiceModelアセンブリが参照されていないというエラーが表示されます。
この問題を解決する方法について誰かが考えていますか?ありがとう。