Используйте connectionstring из файла web.config в файле исходного кода
Я знаю, что это может быть очень простой вопрос, но, возможно, поэтому у меня проблемы с поиском ответа. Сейчас я создаю подключения к базе данных в своих исходных файлах, делая что-то вроде этого:
SqlConnection con = new SqlConnection("Data Source=...Password=...);
SqlCommand cmd = new SqlCommand(String.Format("SELECT * FROM Table;"), con);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
Но это означает, что если я захочу изменить базы данных, это будет серьезной болью. Вы, ребята, знаете, как использовать строку соединения из файла web.config?
Спасибо!
Ответы
Ответ 1
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringNameFromWebConfig"].ConnectionString);
Убедитесь, что на вашем веб-сайте есть ссылка на System.Configuration или он не будет работать.
Документация может быть найдена как Как прочитать строки подключения из файла Web.config с образцом кода
Ответ 2
Вы можете попробовать
var conString = System.Configuration.
ConfigurationManager.ConnectionStrings["connectionStringName"];
string strConnString = conString.ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
Ответ 3
В вашем app.config(или web.config):
<configuration>
<connectionStrings>
<add name="MainConnectString" connectionString="yourConnectionString" providerName="providerName" />
</connectionStrings>
</configuration>
И в коде:
string connectionString = ConfigurationManager.ConnectionStrings["MainConnectString"];
Ответ 4
вместе с ответом StackOverflowException, обязательно добавьте с помощью System.Configuration; к вашему коду за страницей
Ответ 5
Вы можете использовать EnterpriseLibrary.
using Microsoft.Practices.EnterpriseLibrary.Data;
Затем вы создаете метод для получения строки подключения:
public static string GetConnectionString()
{
Database YourData = DatabaseFactory.CreateDatabase("someconnectionname");
return YourData .ConnectionString;
}
В вашем web.config у вас будет следующее:
<connectionStrings>
<add name="someconnectionname" connectionstring=..... />
</connectionString>
Ответ 6
Если вы получаете "не может неявно преобразовать тип" system.configuration.connectionstringsettings "в" string ", выполните:
string connectionString = ConfigurationManager.ConnectionStrings["MainConnectString"].ConnectionString;