2

会員制のサイトを作ろうとしています。メンバーがパスワードの質問と回答を変更しようとすると、すべての作品が execpt を検出します。問題はまさにこの行にあることがわかりました:

bool changeSucceeded = currentUser.ChangePasswordQuestionAndAnswer(model.Password, model.Question, model.Answer);

の呼び出しでChangePasswordQuestionAndAnswerSpecified method is not supported.質問と回答を変更しようとするたびに、例外が発生します。Web で多くのことを見ましたが、何も問題を解決していません。これが私のweb.configのいくつかの重要な部分です

<add name="ApplicationServices" connectionString="Data Source=localhost;Initial Catalog=ISAACWEBDB;Integrated Security=True" providerName="System.Data.SqlClient"/>

<membership defaultProvider="AspNetSqlMembershipProvider">
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" 
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" 
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
      </providers>
    </membership>

これを行うために何が間違っているのか、何が欠けているのか、誰かが知っていますか?

*編集:同じことが起こるのを見たMemberShip.GetAllUsers()

4

1 に答える 1

1

MembershipUser.ChangePasswordQuestionAndAnswerのドキュメントには、これが失敗する理由の説明が記載されています。

PlatformNotSupportedException- この方法は利用できません。これは、アプリケーションが .NET Framework 4 Client Profile をターゲットにしている場合に発生する可能性があります。この例外を回避するには、メソッドをオーバーライドするか、完全なバージョンの .NET Framework を対象とするようにアプリケーションを変更します。

プロジェクト/ソリューションで .NET Framework 4 のクライアント プロファイルをターゲットにしているようです。

于 2013-05-16T13:41:12.167 に答える