Каков рекомендуемый способ передачи строки подключения к объекту класса из веб-приложения?
У меня есть класс в моем веб-приложении, который обрабатывает все мои доступ к базе данных. В настоящее время у меня есть свойство класса, которому я передаю строку подключения к базе данных, хранящуюся в web.config. Это лучший способ или есть лучший метод для использования? Благодарю.
3 ответа
Вы можете добавить ключ в appSettings
блок из web.config
файл. Например:
<appSettings>
<add key="connectionString" value="Data Source=xxx;ID=yyy;Initial Catalog=zzz; Password=ppp;"/>
</appSettings>
Внутри вашего кода вы можете использовать этот параметр следующим образом:
using System.Configuration;
.....
.....
private string connectionString = ConfigurationManager.AppSettings["connectionString"];
Этот способ отлично подходит, когда вам нужно получить доступ к строке подключения из разных модулей в одном решении.
Если строка подключения является обязательной (что, вероятно, так и есть, поскольку мы говорим о классе доступа к данным), я лично предпочитаю передать строку подключения / объект параметров подключения в конструктор класса.
Если вы создаете абстрагированный слой доступа к данным, вы можете вместо этого передать объект ConnectionStringSettings, чтобы иметь возможность использовать модель поставщика ADO.NET для создания правильного типа объектов ADO на основе типа поставщика соединения.
Передача объекта настроек вместо строки также помогает, если вы используете Dependency Injection. Таким образом, объект может быть автоматически разрешен контейнером IoC.
Насколько я знаю (и видел), это наиболее приемлемый подход для поддержки строки подключения. Так что да, я бы сказал, сохраняя строку подключения в web.config
файл в порядке.