Ошибка с ASPNET RoleProvider - PullRequest
       27

Ошибка с ASPNET RoleProvider

0 голосов
/ 19 ноября 2008

Я только что установил приложение на сервер win2003 и получаю эту ошибку:

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 

Я использую RoleProvider, и он правильно настроен в web.config (он работает на других серверах) следующим образом:

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

Любой намек на то, почему он ищет конфигурацию на machine.config вместо web.config? Как я могу отладить это?

Спасибо.

Ответы [ 2 ]

1 голос
/ 19 ноября 2008

На самом деле сначала читается machine.config, затем ваш web.config, который заменяет machine.config. Но в некоторых случаях значения в файле web.config добавляются или включаются в список, поэтому им может быть немного трудно следовать.

Но просмотр machine.config на работающем сервере может пролить свет на вас.

1 голос
/ 19 ноября 2008

Machine.Config содержит настройки, относящиеся ко всему компьютеру. Некоторые элементы Machine.Config позволяют переопределять их. Если элемент имеет атрибут allowOverride = "true", он может быть переопределен в файле web.config. Однако, если он работает на других машинах, я бы посмотрел на различия в файлах machine.config.

Имейте в виду, что редактировать machine.config esp обычно не очень хорошая идея. если вы планируете развертывание на нескольких машинах.

...