Domanda

Ho appena installato un'applicazione su un server win2003 e visualizzo questo errore:

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 

Sto usando un RoleProvider ed è correttamente configurato in web.config (funziona su altri server) come segue:

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

Qualche suggerimento sul perché stia cercando la configurazione su machine.config invece di web.config? Come posso eseguire il debug di questo?

Grazie.

È stato utile?

Soluzione

In effetti legge prima machine.config, poi il tuo web.config che sostituisce machine.config. Ma in alcuni casi i valori in web.config vengono aggiunti o inclusi in un elenco in modo che possa essere un po 'difficile da seguire.

Ma sfogliare machine.config su un server funzionante potrebbe far luce su di te.

Altri suggerimenti

Machine.Config contiene le impostazioni relative all'intero computer. Alcuni elementi di Machine.Config ti consentono di sovrascriverli. Se un elemento ha un attributo allowOverride = " true " , può essere sostituito da web.config. Tuttavia, se funziona su altre macchine, osserverei le differenze nei file machine.config.

Tieni presente che di solito non è una buona idea modificare il file machine.config esp. se prevedi di eseguire la distribuzione su più macchine.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top