6

大家早上好,

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

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

Parser Error Message: Default Role Provider could not be found.

我在相应 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>

现在我已经看到了关于如何解决我之前提到的错误的各种解释。他们中的大多数似乎建议我将标签添加到我的提供程序块中。有些人似乎建议我从 machine.config 中删除角色管理器。有些人似乎仍然建议不要删除或添加任何东西。最后一种方法似乎没有考虑到我的 Web 应用程序是从 IIS 而不是本地计算机运行的。

最后,我尝试了这些方法,但收效甚微。有人可以向我解释如何通过此错误吗?提前致谢!

4

3 回答 3

19

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

<modules>
 <remove name="RoleManager"/>
</modules>
于 2014-06-27T20:22:37.793 回答
0

两件事情:

enabled="false"应该是enabled="true"

而且我不相信这applicationName="/"是有帮助的,但它也可能不会受到伤害。

于 2013-05-31T13:13:08.663 回答
0

在将 IIS 8 中的应用程序添加到我们现有的网站时,我收到此错误消息(右键单击 IIS 中的网站,选择“添加应用程序”)。应用程序的 web.config 只有默认标记,它正在删除网站的 web.config 定义的默认提供程序。

我从应用程序的 web.config 中完全删除了 RoleManager 标记,然后网站和应用程序开始正常工作。

于 2014-01-07T15:49:09.983 回答