2011-01-20 4 views
1

Я хочу использовать полный SQL Server 2005 в качестве хранилища данных для своего поставщика ролей.Поставщик роли ASP.NET: используя sql-сервер вместо sql express?

Я установил aspnetdb с помощью мастера.

в моем приложении я добавил следующие строки соединения

<connectionStrings> 
      <clear/> 
     <add name="LocalSqlServer" connectionString="Data Source=localhost;Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 

я настроил мой провайдер ролей следующим образом:

<roleManager enabled="true"> 
      <providers> 
       <clear/> 
       <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" 

       applicationName="/MyApp" 

       type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 


      </providers> 
     </roleManager> 

Я создаю роли программно, как это:

if (Roles.RoleExists("RoleName")) 
         Roles.CreateRole("RoleName"); 

но когда я проверяю свой aspnetdb из студии управления SQL, я обнаружил, что таблица aspnet_Roles не имеет записей и роли, которые не были вставлены.

так что-то не так с этими шагами или что-то не хватает?

спасибо

+0

Вы хотите, чтобы этот вопрос был удален? – Gumbo

ответ

1

У вас есть опечатка, вам не хватает! (если этого не существует, создайте его):

if (!Roles.RoleExists("RoleName")) 
         Roles.CreateRole("RoleName"); 
+0

вы правы, это глупая ошибка :) спасибо –

+0

приветствую :) – frennky

Смежные вопросы