Каков рекомендуемый способ передачи строки подключения к объекту класса из веб-приложения? - PullRequest
1 голос
/ 15 февраля 2011

В моем веб-приложении есть класс, который обрабатывает весь доступ к моей базе данных.В настоящее время у меня есть свойство класса, которому я передаю строку подключения к базе данных, хранящуюся в web.config.Это лучший способ или есть лучший метод для использования?Спасибо.

Ответы [ 3 ]

1 голос
/ 15 февраля 2011

Если строка подключения является обязательной (что, вероятно, так и есть, поскольку мы говорим о классе доступа к данным), я лично предпочитаю передать строку подключения / объект параметров подключения в конструктор класса.

Если вы создаете абстрагированный слой доступа к данным, вы можете вместо этого передать объект ConnectionStringSettings, чтобы иметь возможность использовать модель поставщика ADO.NET для создания правильного типа объектов ADO на основетип провайдера соединения.

Передача объекта настроек вместо строки также помогает, если вы используете Dependency Injection.Таким образом, объект может быть автоматически разрешен контейнером IoC.

1 голос
/ 15 февраля 2011

Вы можете добавить ключ в блок 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"];

Этот способ отлично подходит, когда вы должны получить доступ к строке подключения из разных модулей в одном решении.

0 голосов
/ 15 февраля 2011

Насколько я знаю (и видел), это наиболее приемлемый подход для поддержки строки подключения.Так что да, я бы сказал, что хранить строку подключения в файле web.config нормально.

...