在运行.NET 4的IIS 7上找不到默认角色提供程序

Eri*_*ric 4 c# iis web-applications roleprovider membership-provider

大家早上好,

我试图在我的Web应用程序中实现我的自定义成员资格和角色提供程序,我已在IIS 7的实例中的默认网站下实现.我的Web应用程序在.NET 4应用程序池下运行.

但是,在设置相应的web.config后,我收到以下错误:

Parser Error Message: Default Role Provider could not be found.
Run Code Online (Sandbox Code Playgroud)

我在相应的Web应用程序的web.config的system.web部分中包含了以下代码块:

<membership defaultProvider="CustomMembershipProvider" userIsOnlineTimeWindow="20">
 <providers>
  <clear/>
  <add name="CustomMembershipProvider" type="CustomProviders.CustomMembershipProvider,   
     CustomProviders, Version=3.0.0.0, Culture=neutral, 
     PublicKeyToken=3563615169617648" applicationName="/"/>
 </providers>
</membership>

<roleManager enabled="true" defaultProvider="CustomRoleProvider">
  <providers>
   <clear/>
   <add name="CustomRoleProvider" type="CustomProviders.CustomRoleProvider, 
     CustomProviders, Version=3.0.0.0, Culture=neutral, 
     PublicKeyToken=3563615169617648" applicationName="/"/>
  </providers>
</roleManager>
Run Code Online (Sandbox Code Playgroud)

现在我已经看到各种解释如何解决我之前提到的错误.他们中的大多数人似乎都建议我在我的提供者块中添加标签.有些人似乎建议我从machine.config中删除角色管理器.有些人似乎还建议不要删除或添加任何内容.最后一种方法似乎并不能说明我的Web应用程序是从IIS而不是本地计算机运行的.

最后,我尝试了这些方法,但收效甚微.有人可以向我解释我怎么能通过这个错误?提前致谢!

Nov*_*NET 13

使用默认的MVC 4 Web应用程序时出现此错误.我不得不将以下内容添加到web.config并且错误消失了.在<system.webServer> 添加下

<modules>
 <remove name="RoleManager"/>
</modules>
Run Code Online (Sandbox Code Playgroud)