Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to change ASP.NET Configuration tool connection string

how can I change ASP.NET Configuration tool-s connection string name? (Which connection string will ASP.NET Configuration tool will use) I'm learning ASP.NET and everywhere and in book that I'm reading now theres connection string named: LocalSqlServer.

I want to use my local sql server database instead of sql express to store Roles, Membership and other data.

I have used aspnet_regsql.exe to create needed data structures in my database. after that I changed my web.config to look like:

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

but when I run ASP.NET Configuration tool it says that: "The connection name 'ApplicationServices' was not found in the applications configuration or the connection string is empty."

ASP.NET Configuration tool uses connection string named: ApplicationServices not LocalSqlServer.

cause of that I have to modify web.config to: <connectionStrings> <add name="ApplicationServices" connectionString="Server=(LOCAL); Database=MyDatabase;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>

and everything works fine.

I wish to know why the hell my web site uses connection string named: ApplicationServices and all books and online documentations uses LocalSqlServer? and how to change it to LocalSqlServer?

I have: Windows 7 Sql Server 2008 R2 Visual Studio 2010 Premium Project type is website

like image 848
Zviadi Avatar asked Dec 07 '22 00:12

Zviadi


1 Answers

accidentally I have found my question answer when looking to web.config file.

if you override default machine.config configuration settings in web.config file you can change ASP.NET Configuration tool-s connection string name.

I got my web.config file from book-s code archive and it was the problem.

in web.config u can override which connection string name will be used for: membership, profile and roleManager.

to override membership use:
<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>

where connectionStringName is the name of connection string which will be used for storing membership data.

others are:

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

and

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

like image 159
Zviadi Avatar answered Dec 30 '22 11:12

Zviadi