Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SqlConnection - ну почему так медленно?

422
04 октября 2006 года
Dimarik
181 / / 12.02.2005
Имеется некоторая aspx-страница. В событии Page_Load() создаётся объект класса SqlConnection:

SqlConnection conn=new SqlConnection();
conn.ConectionString=WebConfigurationManager.ConnectionString["Dbase1"].ConnectionString;

Здесь всё быстро.

Затем у этого объекта вызываю метод Open:

conn.Open();
conn.Close();

При первом вызове страницы всё работает медленно. При последующих всё отлично. После 10 минут неактивности всё опять работает медленно. Хотя в строке подключения явно указано:
Pooling=true; Min Pool Size=10;

Ну в чём причина то? Подчеркну, больше на странице ничего не выполняется. Т. е. просто создаётся объект и вызывается метод.
422
05 октября 2006 года
Dimarik
181 / / 12.02.2005
Вот Trace данной страницы:

aspx.page Begin PreInit
aspx.page End PreInit 3,57587346995219E-05 0,000036
aspx.page Begin Init 0,000120965094725726 0,000085
aspx.page End Init 0,000717968345138837 0,000597
aspx.page Begin InitComplete 0,000747581047311879 0,000030
aspx.page End InitComplete 0,00077300327276232 0,000025
aspx.page Begin PreLoad 0,000792838195915961 0,000020
aspx.page End PreLoad 0,000846755663080084 0,000054
aspx.page Begin Load 0,000867708046693085 0,000021
До соединения 0,0151052717593996 0,014238
После соединения 12,0454898597447 12,030385
aspx.page End Load 12,075852377886 0,030363
aspx.page Begin LoadComplete 12,0759065747183 0,000054
aspx.page End LoadComplete 12,075927806467 0,000021
aspx.page Begin PreRender 12,075952111232 0,000024
aspx.page End PreRender 12,0762203017423 0,000268
aspx.page Begin PreRenderComplete 12,0762493557142 0,000029
aspx.page End PreRenderComplete 12,0762697493676 0,000020
aspx.page Begin SaveState 12,0819185119897 0,005649
aspx.page End SaveState 12,0869638459637 0,005045
aspx.page Begin SaveStateComplete 12,087006030096 0,000042
aspx.page End SaveStateComplete 12,0870267031145 0,000021
aspx.page Begin Render 12,0870462586725 0,000020
aspx.page End Render 12,0968273900733 0,009781



conn = new SqlConnection();
conn.ConnectionString = str;
Trace.Write("До соединения);
conn.Open();
Trace.Write("Псоле соединения");
273
05 октября 2006 года
3A3-968M
1.2K / / 22.12.2005
Предполагаю, что срок сессии пользователя истекает по истечении 10 минут. Попробуй использовать свойство Timeout объекта Session (HttpSessionState). А на счёт медленности - это уже конфигурация сервера БД.
422
07 октября 2006 года
Dimarik
181 / / 12.02.2005
[QUOTE=3A3-968M]Предполагаю, что срок сессии пользователя истекает по истечении 10 минут. Попробуй использовать свойство Timeout объекта Session (HttpSessionState). [/QUOTE]

Да, даже если истекает время СЕССИИ, то всё равно в строке подключения явно указано
Pooling=true; Min Size Pool=10;

[QUOTE=3A3-968M]
А на счёт медленности - это уже конфигурация сервера БД. [/QUOTE]

У меня получается, что аутентификация происходит очень долго. Т.к. запрашиваю страницу, которая требует подключения к БД, и смотрю в Profile и там событие Login происходит спустя несколько минут.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог