2011-01-10 3 views
4

Как изменить имя строки подключения инструментария ASP.NET? (Какая строка подключения будет использоваться инструментом настройки ASP.NET) Я изучаю ASP.NET и всюду и в книге, которую я сейчас читаю, строка подключения: LocalSqlServer.Как изменить строку подключения инструмента конфигурации ASP.NET

Я хочу использовать свою локальную базу данных sql server вместо sql express для хранения Ролей, Членства и других данных.

Я использовал aspnet_regsql.exe для создания необходимых структур данных в моей базе данных. после того, что я изменил web.config выглядеть следующим образом:

<connectionStrings> <remove name="LocalSqlServer"/> <add name="LocalSqlServer" connectionString="Server=(LOCAL); Database=MyDatabase;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>

но при запуске программы настройки ASP.NET он говорит, что: «Имя подключения„ApplicationServices“не был найден в конфигурации приложений или строка соединения пуста ».

Инструмент настройки ASP.NET использует строку подключения с именем: ApplicationServices, а не LocalSqlServer.

причиной того, что я должен изменить web.config для: <connectionStrings> <add name="ApplicationServices" connectionString="Server=(LOCAL); Database=MyDatabase;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>

и все работает отлично.

Я хочу знать, почему, черт возьми, мой сайт использует строку соединения с именем: ApplicationServices и все книги и онлайн-документация использует LocalSqlServer? и как изменить его на LocalSqlServer?

у меня есть: Windows 7 Sql Server 2008 R2 Visual Studio 2010 Premium Тип проекта является сайт

+0

Спасибо, вы решить мою проблему –

ответ

15

случайно я нашел мой вопрос ответа при поиске файла web.config.

Если вы переопределите параметры конфигурации machine.config по умолчанию в файле web.config, вы можете изменить имя строки подключения инструментария ASP.NET.

Я получил свой файл web.config из архива кода книги, и это было проблемой.

В web.config u можно переопределить, какое имя строки подключения будет использоваться для: членства, профиля и roleManager.

переопределить использование членства:
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="/"/>
</providers>
</membership>

где connectionStringName это имя строки подключения, которая будет использоваться для хранения данных членства.

другие:

<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="LocalSqlServer"
applicationName="/"/>
</providers>
</profile>

и

<roleManager enabled="true">
<providers>
<clear />
<add connectionStringName="LocalSqlServer" applicationName="/"
name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
<add applicationName="/" name="AspNetWindowsTokenRoleProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>