我正在尝试建立一个拥有会员资格的网站。当成员试图更改密码问题和答案时,所有作品都会找到execpt。我发现问题恰恰就在这一行:
bool changeSucceeded = currentUser.ChangePasswordQuestionAndAnswer(model.Password, model.Question, model.Answer);
在ChangePasswordQuestionAndAnswer
的电话中。我每次尝试更改问题和答案时都会收到例外:Specified method is not supported.
。我在网上看到很多东西,但没有解决我的问题。以下是我的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()
答案 0 :(得分:1)
MembershipUser.ChangePasswordQuestionAndAnswer的文档可能会解释为什么会失败:
PlatformNotSupportedException
- 此方法不可用。这个 如果应用程序面向.NET Framework 4客户端,则会发生此问题 轮廓。要防止此异常,请覆盖该方法,或更改 应用程序以定位.NET Framework的完整版本。
听起来您的目标是项目/解决方案中的.NET Framework 4的客户端配置文件。