Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Пул соединений

Структура компонента доступа к данным ADO.NET | Работа в отрыве от источника данных | Адаптеры данных и связанные таблицы |


Читайте также:
  1. Виды соединений фаз источников.
  2. Газофазная эпитаксия из металлоорганических соединений.
  3. Расчет резьбовых соединений.
  4. Расчет сварных соединений.
  5. Способы оценки сопротивляемости сварных соединений образованию горячих трещин

В Web-приложениях часто множество различных пользователей могут обращаться к одной и той же базе и запрашивать одни и те же данные. В этих случаях исполняемое приложение может создать пул соединений к источнику данных.

Примечание

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

Если используется класс OleDbConnection, то пул соединений формируется автоматически провайдером, так что разработчик освобождается от управления этим процессом. Если используется класс SqConnection, то создание пула соединений также обеспечивается, но программист имеет возможность вмешиваться в его управление.

Транзакции

Объекты Connection поддерживают транзакции с помощью метода BeginTransaction, который создает объект OleDbTransaction или SqlTransaction. Объекты Transaction в свою очередь поддерживают методы, которые позволяют вам завершить транзакцию (Commit) или сделать "откат" назад (Rollback).

1.3.5. Конфигурирование свойств Connection

Во многих приложениях содержимое объекта Connection не может быть однозначно определено на этапе разработки проекта. Например, в приложении, которое будет распространяться среди множества клиентов, в Connection не могут быть жестко прописаны такие параметры, как имя сервера, имя пользователя или пароль пользователя. У каждого потребителя программного продукта значения этих атрибутов будут свои. Следовательно, содержимое свойства ConnectionString должно формироваться динамически при запуске приложения. Поскольку динамические свойства соединения заносятся и хранятся в отдельном конфигурационном файле, который не компилируется, то они могут быть впоследствии изменены без перекомпиляции приложения. Динамические свойства автоматически получают значения из конфигурационного файла во время выполнения приложения. За работу этого механизма отвечает среда.NET Framework.

Сохранение элементов строки ConnectionString (таких как, например, имя сервера, имя пользователя и пароль) как динамических свойств может иметь смысл и для повышения безопасности вашего приложения.

1.3.6. Объект Connection и безопасность

Поскольку открытие соединения дает доступ к очень важному ресурсу сервера — базе данных, то становятся актуальными вопросы обеспечения безопасности и конфигурирования уровня безопасности.

Как вы будете обеспечивать безопасность приложения и порядок доступа из него к источнику данных зависит от архитектуры разрабатываемой системы. В Web-приложениях, например, пользователи обычно получают анонимный доступ к Internet Information Services (IIS), и поэтому не предоставляют никаких сертификатов на право пользования информацией. В этом случае, ваше приложение должно обеспечивать собственную проверку прав входа в систему, чтобы дать "добро" на открытие соединения и обращения к базе данных. Имя пользователя и пароль могут быть или "прошиты" в откомпилированном приложении (в виде значения свойства, установленного во время разработки), или могут быть определены как динамические свойства, которые установлены в файле конфигурации Web-приложения. Двоичные файлы Web-приложения и файл конфигурации защищены от доступа из сети Интернет собственными средствами защиты ASP.NET, которые предотвращают доступ к этим файлам через любой Интернет-протокол (гипертекстовый транспортный протокол — HTTP, протокол передачи файлов — FTP, и так далее). Чтобы предотвратить доступ к Web-серверу из вашей внутренней сети, необходимо использовать возможности защиты Windows.

В Интранет или в двухуровневых приложениях вы можете использовать интегрированную защиту — средствами Windows, IIS и SQL-сервером. В такой модели защиты для обращения к ресурсам базы данных используются параметры идентификации пользователя в сети, а не имя и пароль, заданные в строке соединения. При этом права доступа к информации устанавливаются на сервере базы данных через группы пользователей, так что нет необходимости установить индивидуальные параметры разрешения для каждого пользователя, который мог бы обратиться к базе данных. В данной модели вообще не нужно сохранять параметры соединения, и нет необходимости в принятии дополнительных мер по защите параметров строки соединения.

1.3.7. Создание объекта Connection в режиме дизайнера с помощью Server Explorer

Проводник Server Explorer обеспечивает наиболее простой путь создания соединения с источниками данных в режиме дизайнера на этапе проектирования приложения. Здесь программист имеет возможность просмотреть все доступные источники (базы) данных; увидеть таблицы, столбцы и многие другие элементы, а также редактировать и создавать новые элементы базы данных.

Ваше приложение непосредственно не использует соединения, созданные этим путем. И вообще информация, поставляемая соединением в режиме дизайнера при проектировании приложения, используется для того, чтобы задать свойства нового объекта Сonnection, который вы добавите к вашему приложению. Иными словами объекты Сonnection, с которыми вы работаете в окне Server Explorer, являются элементами Server Explorer и служат шаблонами для создания объекта Сonnection, который будет являться элементом формы и реально работать в вашем приложении.

Например, во время разработки вы задействовали Server Explorer для создания связи (объекта Connection) С SQL-сервером с именем MyServer и базой данных Northwind, которая поставляется вместе с SQL Server. Затем, при проектировании формы, через это соединение вы можете просмотреть структуру базы данных Northwind, выбирать таблицы, выделять нужные вам столбцы и перетаскивать их на форму. Как раз в момент "перетаскивания" элементов из базы данных на проектируемую форму будут автоматически сформированы объекты Connection и DataAdapter. В новое соединение скопируется информация из СonnectionString соединения-шаблона проводника Server Explorer. Когда разработанное приложение будет запущено на выполнение, то объект Connection, расположенный на форме (а не в Server Explorer) будет реально обеспечивать соединение вашего приложения с источником данных.

Информация о соединениях в режиме проектирования приложений храниться на вашем локальном компьютере и не зависит от загруженного в данный момент проекта. Поэтому, как только вы загрузили в Visual Studio какой-либо проект, активизируется объект Connection режима проектирования приложений — и вы видите доступные базы данных в проводнике Server Explorer.

1.3.8. Инструменты Visual Studio для создания объектов Connection

Программистам при работе с Visual Studio нет необходимости "руками" формировать свойства объектов connection. Для этого есть соответствующие инструментальные средства — например, Мастер Адаптера Данных, который запрашивает у разработчика информацию относительно источника данных и автоматически создает объект Connection на форме или на другом компоненте, с которым вы работаете. Однако при желании разработчик можете сам добавить объект Connection на форму или другой компонент и задать нужный набор свойств.

1.3.9. Создание объекта Connection в ADO.NET

Для создания объекта connection можно использовать следующие возможности:

□ Мастера Visual Studio:

• Мастер конфигурации объекта DataAdapter. Этот мастер создает Connection, как элемент, необходимый для формирования DataAdapter;

• Мастер форм данных — данный мастер создает Connection как часть формы, которую он формирует.

□ Путь переноса таблицы, выбранных столбцов таблицы или хранимой процедуры из Server Explorer на форму. При перемещении одного из этих элементов на форму будут автоматически созданы объекты Connection и DataAdapter.

□ Создание автономного объекта Connection. В этом варианте создается объект Сonnection на форме или компоненте, свойства которого вы конфигурируете вручную. Данный способ можно использовать и тогда, когда вы предпочитаете устанавливать свойства объекта в окне Properties.

□ Создание объекта Сonnection во время работы программы.

Для создания автономного объекта connection нужно выполнить следующие действия.

1. Создайте Windows- или Web-приложение.

2. Из вкладки Data панели инструментов Toolbox поместите объект Сonnection на вашу форму или компонент. Для этого левой кнопкой мыши выделите объект OleDbConnection или SqlConnection (рис. 1.5), затем щелкните левой кнопкой мыши в любом месте формы.

• Используйте объект SqlConnection, если вы будете работать с базой данных SQL Server версии 7.0 и выше. При этом будет создан объект Connection с именем SqlConnectionN, где N— последовательный номер (например, SqlConnection1).

• Используйте объект OleDbConnection, если вы будете работать с любым другим источником данных, или если тип источника данных впоследствии может измениться. При этом будет создан объект Connection с именем OleDbConnectionN, где N— последовательный номер (например, OleDbConnectioni).

3. Выделите объект Connection в окне дизайнера, затем в окне Properties модифицируйте значение свойства ConnectionString. Здесь вы можете установить или изменить такие свойства как DataSource, Database, UserName и так далее (вы не сможете переопределить атрибут Provider для объекта SqlConnection).

Если вы хотите переименовать объект Сonnection — измените его свойство Name.

Если параметры объекта connection должны быть переустановлены во время выполнения приложения, то необходимо сконфигурировать свойства объекта connection как динамические. Для этого в окне Properties раскройте узел DynamicProperties и щелкните в поле в правой части строки Connectionstring (рис. 1.6).

В открывшемся дополнительном окне Dynamic Propertys установите флажок Map property to a key in configuration file и нажмите кнопку OK (рис. 1.7).

 

В результате свойства строки соединения будут помещены во внешний конфигурационный файл, и их впоследствии можно будет менять без перекомпиляции приложения.


Дата добавления: 2015-11-04; просмотров: 67 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Взаимодействие с базой данных через команды| Адаптер данных (объект DataAdapter)

mybiblioteka.su - 2015-2024 год. (0.008 сек.)