#c# #asp.net #projects-and-solutions #web-project #data-connections
#c# #asp.net #проекты и решения #веб-проект #подключения к данным
Вопрос:
Пытаюсь прочитать имя базы данных, но оно не работает на сайте. Используя asp.net веб — проект с файлом решения. Я поместил это в web.config. Это изменится в зависимости от базы данных разработки или производственной базы данных PRODDB с помощью файлов и сценариев преобразования веб-конфигурации.
lt;appSettingsgt; lt;add key="databaseName" value="DEVELDB"/gt; lt;add key="operatingEnvironment" value="dev"/gt; lt;/appSettingsgt;
В файле Global.asax.cs:
void Application_Start(object sender, EventArgs e) { // Code that runs on application startup RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); var operatingEnvironment = WebConfigurationManager.AppSettings["operatingEnvironment"].ToString(); if (operatingEnvironment == "dev") { Application["DBE"] = WebConfigurationManager.AppSettings["databaseName"].ToString(); } }
В файле класса login.cs:
internal static DatabaseConnection GetDatabaseConnection() { return new DatabaseConnection( new ConnectionProperties { User = Shared.User, Application = Shared.Application, DatabaseName = (string)HttpContext.Current.Application["DBE"] }); }
и в файле Web.Development.config есть:
lt;appSettingsgt; lt;add key="databaseName" value="DEVELDB" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" /gt; lt;add key="operatingEnvironment" value="dev" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" /gt; lt;/appSettingsgt;
Однако всякий раз, когда я отлаживаю после входа в систему, он переходит к коду ниже, который хорош (такой же, как закодирован выше), но говорит, что имя базы данных не было указано? Я указал его как DEVELDB и использовал «DBE» для ссылки на него. Однако это не похоже на то, что он отлаживается в другой области и туда, просто прямо туда и убивает его?
... { User = Shared.User, Application = Shared.Application, DatabaseName = (string)HttpContext.Current.Application["DBE"] });
Ответ №1:
Подключения к базам данных находятся внутри тегов «строки подключения» в файле «webconfig». Если вам нужен SQLServer, он показан ниже
lt;configurationgt; lt;connectionStringsgt; lt;add name="TwoWayConn" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|TwoWayData.accdb" providerName="System.Data.OleDb" /gt; lt;add name="TWOWAYDATASQL" connectionString="Data Source=TBIRDSQLEXPRESS1;Initial Catalog=TWOWAYDATASQL.MDF;Integrated Security=True" providerName="System.Data.SqlClient" /gt; lt;/connectionStringsgt; .... lt;/configurationgt;
Я неправильно понимаю, что вы пытаетесь сделать?