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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top