views:

164

answers:

2

I just installed an application on a win2003 server and I'm getting this error:

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

I'm using a RoleProvider and it's properly configured in web.config (it works on other servers) as follows:

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

Any hint on why it's looking for configuration on machine.config instead of web.config? How can I debug this?

Thank you.

+1  A: 

The Machine.Config holds settings that pertain to the entire computer. Some Elements of the Machine.Config allow you to override them. If an element has a allowOverride = "true" attribute it can be overridden the web.config. However, if it works on other machines I would look at differences in machine.config files.

Keep in mind it is not usually a good idea to edit the machine.config esp. if you plan on deploying to multiple machines.

cgreeno
+1  A: 

Indeed it read machine.config first, then your web.config which supercedes machine.config. But in some cases the values in the web.config are appended or included in a list so it can get a little hard to follow.

But perusing the machine.config on a working server might shed some more light for you.

Robert
We found some differences in both machine.config files, so we are looking down that path.
pgb