ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

К чему может привести незакрытие соединений MS SQL
  #1  
Старый 04.06.2009, 14:42
masbear
Познающий
Регистрация: 04.08.2008
Сообщений: 81
Провел на форуме:
140742

Репутация: 23
По умолчанию К чему может привести незакрытие соединений MS SQL

У меня сайт на ASP.NET 2.0, на каждой странице в Page_Load создается соединение к базе данных через SqlConnection.Connect().

В самой aspx странице оно не раз используется, поэтому в Page_Load его (соединение) не закрыть.

PHP код:
<html>....<title><%=GetTitleFromDb()%></title> .... 
И т.п. Это просто пример.

Получается, я должен закрывать соединения где-то в конце

PHP код:
<%Connection.Dispose();%>
</
html
А что будет, если я не закрою? Pooling отключен (pooling=false).

На многих страницах коннекшн не закрывается... Не из-за этого ли каждый раз после перезапуска sqlservr.exe жрет все больше и больше оперативы с каждой секундой?

Последний раз редактировалось masbear; 04.06.2009 в 15:46..
 
Ответить с цитированием

  #2  
Старый 04.06.2009, 15:19
POS_troi
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме:
3718311

Репутация: 1118


Отправить сообщение для POS_troi с помощью ICQ
По умолчанию

Глюки вполне возможно из-за этого ибо соединение закрывать нужно.

Проверь в настройках таймаут.
 
Ответить с цитированием

  #3  
Старый 04.06.2009, 17:29
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

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

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

  #4  
Старый 04.06.2009, 17:31
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

эммм... а using уже не модно юзать?
для каждого запроса, создавай отдельный коннект.
и про Dispose почитай... =\
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #5  
Старый 04.06.2009, 17:57
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
У меня сайт на ASP.NET 2.0, на каждой странице в Page_Load создается соединение к базе данных через SqlConnection.Connect().
А почему не в инит, а в лоад? Интересно.

Цитата:
а если на твою страницу заходят 1000 челов одновремено и бродят по сайту в котором здоровая вложеноссть и каждое обновление открывает новое соединение...
Абстрактные примеры - зло.
 
Ответить с цитированием

  #6  
Старый 05.06.2009, 22:05
masbear
Познающий
Регистрация: 04.08.2008
Сообщений: 81
Провел на форуме:
140742

Репутация: 23
По умолчанию

Цитата:
эммм... а using уже не модно юзать?
для каждого запроса, создавай отдельный коннект.
и про Dispose почитай... =\
Исключено, и я объяснял почему. Обращение к бд идет по всей странице.

Цитата:
А почему не в инит, а в лоад? Интересно.
А в чем проблема? Я все иницилизирую в Load. Про Init мало слышал, вроде возникает раньше, чем Load.

Gar|k, пользователей on-line где-то 500-1000, поэтому неудивительно, что сервер нагружен из за sqlservr.exe (два раза даже вылетал, думаю, что из-за этого).

Проблема в том, что страниц таких больше сотни... Что ж примусь за исправление.

Доложу о результатах
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение Sql инъекций и Css атак k00p3r Чужие Статьи 0 12.06.2005 20:43
MS SQL Injection k00p3r Чужие Статьи 0 12.06.2005 12:44
SQL Injection для чайников, взлом ASP+MSSQL k00p3r Чужие Статьи 0 12.06.2005 12:42
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41
SQL инъекция в сервере MySQL k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ