The entry '**' has already been added错误的解决方法
来源:互联网 发布:gta5女角色数据 编辑:程序博客网 时间:2024/06/05 20:46
今天再新的系统里面用上了membership这个功能,虽然很久以前就对他了解很多了,但是苦于公司里面程序的局限性,一直都没有机会使用它。今天再新的程序里用上了,不过有一些东西微软虽然考虑了很多严谨的配置,却无形中给我们带来了很大麻烦。例如用户名密码必须是那种强命名方式 最简单的例子就是Pas$w0rd这个样子,使得程序员们开发和测试的时候都是很麻烦,还有很多用户还是很讨厌这种注册密码的方式。我自己就是一个受害者,分析了一下membership,看了看msdn,这些限制都是我们可以自己定义的。下面是如何自定义的方法和一个讨厌的错误解决办法。
1. 首先,到C:/Windows/Microsoft.NET/Framework/v2.0.50727/CONFIG 下找到machine.config文件,找到下面的这行配置 (当你找到他的时候,可能都写成一行了,自己回车修改成下面这种样式更利于阅读)
<membership>
<providers>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
2.当你拿到这个membership的配置以后,下一步就是把它拷贝到你自己的web.config的<system.web>这个模块下面。这里需要稍微解释一下,默认情况下,asp.net 2.0就默认调用machine.config的membership配置,这也就是为什么你需要把这个配置拷贝到你自己的web.config下的原因,因为你要修改一些数值。
3. 好了开始大刀阔斧的"砍"吧.
<membership>
<providers>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="4"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
(红色的部分就是我修改的),到了这里已经差不多大功告成了,但是先别高兴得太早,因为如果你这么运行就会出现一个错误"The entry 'AspNetSqlMembershipProvider' has already been added."如果你看到了这个,那么恭喜你,因为后面就是你要的答案。因为你在web.config里面重写membership的配置之后,asp.net还是先去运行machine.config里面的membership配置,等回来读到你的web.config的时候,asp.net engine就会糊涂了,因为有两个membership配置出现了。这就是为什么产生了这个错误。
好了废话少说,解决问题。一句话,两种办法都可以解决。
在 <add name="AspNetSqlMembershipProvider" 前面加上
<remove name="AspNetSqlMembershipProvider"/>
或者
<clear/>
好了问题解决了
1. 首先,到C:/Windows/Microsoft.NET/Framework/v2.0.50727/CONFIG 下找到machine.config文件,找到下面的这行配置 (当你找到他的时候,可能都写成一行了,自己回车修改成下面这种样式更利于阅读)
<membership>
<providers>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
2.当你拿到这个membership的配置以后,下一步就是把它拷贝到你自己的web.config的<system.web>这个模块下面。这里需要稍微解释一下,默认情况下,asp.net 2.0就默认调用machine.config的membership配置,这也就是为什么你需要把这个配置拷贝到你自己的web.config下的原因,因为你要修改一些数值。
3. 好了开始大刀阔斧的"砍"吧.
<membership>
<providers>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="4"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
(红色的部分就是我修改的),到了这里已经差不多大功告成了,但是先别高兴得太早,因为如果你这么运行就会出现一个错误"The entry 'AspNetSqlMembershipProvider' has already been added."如果你看到了这个,那么恭喜你,因为后面就是你要的答案。因为你在web.config里面重写membership的配置之后,asp.net还是先去运行machine.config里面的membership配置,等回来读到你的web.config的时候,asp.net engine就会糊涂了,因为有两个membership配置出现了。这就是为什么产生了这个错误。
好了废话少说,解决问题。一句话,两种办法都可以解决。
在 <add name="AspNetSqlMembershipProvider" 前面加上
<remove name="AspNetSqlMembershipProvider"/>
或者
<clear/>
好了问题解决了
- The entry '**' has already been added错误的解决方法
- The entry 'XXX' has already been added
- The entry ['*'] has already been added
- 项"Oracle"已添加,或者The entry "*" has already been added的解决方法
- The Entry *** has already been added错误问题分析(项已添加)
- 自定义ASP.net 2.0 Membership的步骤,和entry 'AspNetSqlMembershipProvider' has already been added错误的解决
- web.config中配置重复问题 The entry "Security" has already been added
- VS2015报错: An item with the same key has already been added
- 一个Toast报错问题 java.lang.IllegalStateException: View has already been added to the window manager.
- getOutputStream() has already been called for this response 的解决方法
- getOutputStream() has already been called for this response的解决方法
- getOutputStream() has already been called for this response 的解决方法
- getOutputStream() has already been called for this response的解决方法
- getOutputStream() has already been called for this response 的解决方法
- getOutputStream() has already been called for this response的解决方法
- getOutputStream() has already been called for this response的解决方法
- getOutputStream() has already been called for this response的解决方法
- getWriter() has already been called for this response的解决方法
- 我的另一個博客站
- 结婚前后
- Hibernate3的fetch属性配置心得
- 开始特效~
- 小发现,关于ubuntu里alt+tab
- The entry '**' has already been added错误的解决方法
- 技巧/诀窍:在ASP.NET中重写URL (转)
- SAP数据交换技术相关名词通俗释意
- 联网问题:主机MySQL不能定位
- Linux root password reset
- 类继承中构造函数和析构函数的调用
- test
- SAS 介绍
- asp.net 学习笔记[01] 新控件