我刚刚在win2003服务器上安装了一个应用程序,并收到以下错误:
Line 149: <roleManager>
Line 150: <providers>
Line 151: <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Line 152: <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Line 153: </providers>
Source File: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config Line: 151 我使用的是一个RoleProvider,它已经在web.config中正确配置(它可以在其他服务器上运行),如下所示:
<membership defaultProvider="AdminMembershipProvider">
<providers>
<clear/>
<add name="AdminMembershipProvider" connectionStringName="SiteSqlServer" type="MyApp.Providers.AdminMembershipProvider" applicationName="MyApp" writeExceptionsToEventLog="false" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" PasswordFormat="Clear" MinRequiredNonAlphanumericCharacters="1" MinRequiredPasswordLength="8" MaxInvalidPasswordAttempts="5" PasswordAttemptWindow="10">
</add>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="AdminRoleProvider" cacheRolesInCookie="true">
<providers>
<add name="AdminRoleProvider" type="MyApp.Providers.AdminRoleProvider" writeExceptionsToEventLog="true"/>
</providers>
</roleManager>有任何关于为什么它在machine.config上而不是web.config上寻找配置的提示吗?我如何调试它呢?
谢谢。
发布于 2008-11-19 11:59:58
实际上,它首先读取的是machine.config,然后是取代machine.config的web.config。但在某些情况下,web.config中的值被附加或包含在列表中,因此可能会有点难以理解。
但是,仔细研究工作正常的服务器上的machine.config可能会为您提供更多帮助。
发布于 2008-11-19 11:03:34
Machine.Config保存与整个计算机相关的设置。Machine.Config的某些元素允许您覆盖它们。如果元素具有allowOverride = "true"属性,则可以覆盖web.config。但是,如果它在其他机器上运行,我会查看machine.config文件中的差异。
请记住,编辑machine.config通常不是一个好主意。如果您计划部署到多台计算机。
https://stackoverflow.com/questions/301502
复制相似问题