как изменить строку подключения инструмента настройки ASP.NET - PullRequest
4 голосов
/ 10 января 2011

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

Я хочу использовать базу данных локального сервера sql вместо 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 not 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 Тип проекта - веб-сайт

1 Ответ

15 голосов
/ 10 января 2011

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

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

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

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

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

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

другие:

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

и

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...