|
Ошибка, связанная с открытием незакрытой базы
|
|||
---|---|---|---|
#18+
Все работает, но иногда, достаточно редко вылетает такая ошибка: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
L_status – это Public Sub, которая находится в Master Page. В этой L_status и происходит открытие/закрытие базы. Но там ничего такого нет, открыл, получил данные, закрыл. Из-за чего такое может происходить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2012, 17:03 |
|
Ошибка, связанная с открытием незакрытой базы
|
|||
---|---|---|---|
#18+
_Yuriy_, DbConnection лежит в статическое переменной? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2012, 17:28 |
|
Ошибка, связанная с открытием незакрытой базы
|
|||
---|---|---|---|
#18+
SolYUtor_Yuriy_, DbConnection лежит в статическое переменной? Да. Строка подключения выглядит как: Public ConnInter As New SqlConnection("Server=.\DELTAPRO; Database=DP_inter; Integrated Security=SSPI") ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2012, 18:03 |
|
Ошибка, связанная с открытием незакрытой базы
|
|||
---|---|---|---|
#18+
_Yuriy_, Добро пожаловать в суровый мир многопоточных приложений. Ваше соеденине будет шарится между всеми запросами к приложению, поэтому возможны самые невероятные и невоспроизводимые баги. Поэтому не используйте статические переменные. Epic fail на stackoverflow ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2012, 18:15 |
|
Ошибка, связанная с открытием незакрытой базы
|
|||
---|---|---|---|
#18+
SolYUtor_Yuriy_, Добро пожаловать в суровый мир многопоточных приложений. Ваше соеденине будет шарится между всеми запросами к приложению, поэтому возможны самые невероятные и невоспроизводимые баги. Поэтому не используйте статические переменные. Что-то я не понял. Если не использовать статичную переменную подключения, то как? Они там пишут про Session. А у меня сешн, кстати говоря, сохраняется в базе SQL Server. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2012, 18:54 |
|
Ошибка, связанная с открытием незакрытой базы
|
|||
---|---|---|---|
#18+
SolYUtorПоэтому не используйте статические переменные. Я правильно понимаю мысль? Что на время отработки процедуры надо сгенерировать случайным образом переменную. Этой переменной присвоить значение в виде строки подключения. А затем открывать/закрывать базу этой сгенерированной переменной? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2012, 21:22 |
|
Ошибка, связанная с открытием незакрытой базы
|
|||
---|---|---|---|
#18+
_Yuriy_, 1. Вам надо прочитать Рихтера, особенно тщательно разделы про многопоточность. 2. Почитать что-нибудь приличное про ASP.NET Иначе будете по-прежнему изобретать велосипеды. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2012, 22:05 |
|
Ошибка, связанная с открытием незакрытой базы
|
|||
---|---|---|---|
#18+
_Yuriy_SolYUtorDbConnection лежит в статическое переменной? Да. Строка подключения выглядит как: Public ConnInter As New SqlConnection("Server=.\DELTAPRO; Database=DP_inter; Integrated Security=SSPI") Это не статическая переменная. В VB.NET они объявляются с ключевым словом Shared. _Yuriy_Что-то я не понял. Если не использовать статичную переменную подключения, то как? Можно, и даже нужно, не хранить соединение на уровне класса, а создавать внутри методов по необходимости. То есть создали экземпляр SqlConnection, открыли соединение, сделали запрос(ы), закрыли соединение. Ты, кстати, используешь windows аутентификацию для подключения к SQL серверу. Это осознанное решение? Дело в том, что в этом случае пул соединений .net не используется. И если у тебя все пользователи на самом деле подключатся под одним и тем же логином к БД, то эффективнее использовать аутентификацию SQL сервера. _Yuriy_Они там пишут про Session. Кто? Где? Что? _Yuriy_Я правильно понимаю мысль? Что на время отработки процедуры надо сгенерировать случайным образом переменную. Этой переменной присвоить значение в виде строки подключения. А затем открывать/закрывать базу этой сгенерированной переменной? Чисто из любопытства - как ты себе представляешь "генерирование случайной переменной"? _Yuriy_MP.L_status(Boolean prm_LeftMnu, String prm_s1, String prm_u1, String prm_s2, String prm_u2, String prm_s3, String prm_u3) Кроме введения в .NET и ASP.NET тебе точно не помешает прочитать что-то по стилю программирования т.к. названия параметров функции типа prm_s1 никуда не годятся. Советую Совершенный код Стива Макконнелла. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2012, 04:35 |
|
|
start [/forum/topic.php?fid=17&gotonew=1&tid=1350418]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 311ms |
total: | 479ms |
0 / 0 |