Erro com ASPNET RoleProvider
-
08-07-2019 - |
Pergunta
Acabei de instalar um aplicativo em um servidor win2003 e eu estou recebendo este erro:
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
Eu estou usando um RoleProvider e está devidamente configurado no web.config (ele funciona em outros servidores) da seguinte forma:
<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>
Qualquer dica sobre por que ele está olhando para a configuração em machine.config em vez de web.config? Como eu posso depurar isso?
Obrigado.
Solução
Na verdade, ler machine.config primeiro, então seu web.config que Substitui machine.config. Mas em alguns casos os valores no web.config são anexadas ou incluídas em uma lista para que ele possa ficar um pouco difícil de seguir.
Mas lendo o machine.config em um servidor de trabalho pode lançar alguma luz mais para você.
Outras dicas
O Machine.Config mantém a configuração que dizem respeito a todo o computador. Alguns elementos do Machine.Config permitem substituir eles. Se um elemento tem um atributo allowOverride = "true"
pode ser substituído o web.config. No entanto, se ele funciona em outras máquinas que eu iria olhar para as diferenças de arquivos machine.config.
Tenha em mente que não é geralmente uma boa idéia para editar o machine.config esp. Se você planeja implantar a várias máquinas.