2

ASP.NET メンバーシップ クラスを使用して、ユーザー資格情報を作成し、ユーザー設定を管理します。コードは次のとおりです。ローカル マシンでは正常に動作していますが、運用サーバーでは例外がスローされます。理由は何でしょうか? 手がかりを教えてもらえますか?誰?


try
{                
    MembershipUser newUser = 
        Membership.CreateUser(txtUserName.Text, txtPassword.Text);
}
catch (MembershipCreateUserException ex)
{
    divErrorPanel1.Visible = true;
    ShowErrorMessage(lblMessage, GetErrorMessage(ex.StatusCode));
    return;
}
4

3 に答える 3

0

オーバーロードされたメソッドを試す

MembershipCreateStatus status;
MembershipUser newuser = Membership.CreateUser(username, password, email, 
   "Give default question as empty", "Give default answer as empty", IsApprovedTrueOrFalse, out status);

あなたが使用している現在の過負荷は、私にとってもうまくいきませんでした。理由がわからないので、このオーバーロードを使用せざるを得ませんでした。一部のフィールドを必須にするかどうかは、web.config の一部の設定に関連している可能性があります。

于 2013-01-11T10:37:25.817 に答える
0

web.config で、次のプロパティを false に設定してみてください

requiresQuestionAndAnswer="false"

ノード内

于 2015-11-03T06:20:26.437 に答える
0

MembershipCreateUserException.StatusCode例外の説明については、プロパティを確認してください。

例外の理由の説明を取得します。

これらは可能性です。

  • "ユーザー名は既に存在します。別のユーザー名を入力してください。";

  • "その電子メール アドレスのユーザー名は既に存在します。別の電子メール アドレスを入力してください。";

  • "指定されたパスワードは無効です。有効なパスワード値を入力してください。";

  • "指定された電子メール アドレスは無効です。値を確認して、もう一度やり直してください。";

  • "提供されたパスワード取得の回答が無効です。値を確認して、もう一度やり直してください。";

  • "提供されたパスワード取得用の質問は無効です。値を確認して、もう一度やり直してください。";

  • "指定されたユーザー名は無効です。値を確認して、もう一度やり直してください。";

  • "認証プロバイダーからエラーが返されました。エントリを確認して、もう一度試してください。問題が解決しない場合は、システム管理者に連絡してください。";

  • "ユーザー作成要求はキャンセルされました。入力内容を確認して、もう一度お試しください。問題が解決しない場合は、システム管理者に連絡してください。";

  • "不明なエラーが発生しました。エントリを確認して、もう一度やり直してください。問題が解決しない場合は、システム管理者に連絡してください。";

于 2013-01-11T10:11:40.400 に答える