Question

Je viens d'installer une application sur un serveur Win2003 et le message d'erreur suivant s'affiche:

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 

J'utilise un RoleProvider et il est correctement configuré dans web.config (il fonctionne sur d'autres serveurs) comme suit:

<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>

Pourquoi est-ce qu'il recherche une configuration sur machine.config au lieu de web.config? Comment puis-je déboguer cela?

Merci.

Était-ce utile?

La solution

En effet, il lit d'abord le fichier machine.config, puis votre fichier web.config qui remplace le fichier machine.config. Mais dans certains cas, les valeurs de web.config sont ajoutées ou incluses dans une liste, ce qui peut compliquer la tâche.

Mais parcourir le fichier machine.config sur un serveur en fonction risque de vous éclairer un peu plus.

Autres conseils

Machine.Config contient les paramètres qui concernent l’ensemble de l’ordinateur. Certains éléments de Machine.Config vous permettent de les remplacer. Si un élément a un attribut allowOverride = " true " , il peut être remplacé par le fichier web.config. Cependant, si cela fonctionne sur d'autres machines, je regarderais les différences entre les fichiers machine.config.

N'oubliez pas que ce n'est généralement pas une bonne idée de modifier le fichier machine.config. si vous envisagez de déployer sur plusieurs machines.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top