Я начал использовать NHibernate то же время я начал использовать замок ActiveRecord поэтому у меня есть эти перепутали вопросы иногдакогда замок ActiveRecord закрывает соединение
Я задавался вопросом, когда ActiveRecord (или NHibernate) закрывает соединение при выполнении следующего кода :
Dim entity = TABLE_Y.TryFind(id)
if not entity is nothing then
'long running process here
response.redirect("...")
end if
Я спрашиваю это, потому что это долго работает процесс занимает более одного часа, чтобы закончить и всякий раз, когда код перенаправляет на другую страницу, я получаю ORA-03135 (соединение потерял контакт) рассказывала мне связь была потеряна , эта другая страница имеет следующий активный запрос записи:
Dim entity = TABLE_X.FindAll(Order.Desc(...), _
Expression.Eq(...) And _
Expression.Eq(...)).FirstOrDefault
, который затем возвращает ор-03135
, так что я думаю, если не может быть никакой связи с ActiveRecord, что не закрывало перед длительной обкаткой
это длительный процесс, идущий буквально другой процесс, запущенный приложением, ожидающим его завершения до перенаправления на другую страницу, поэтому, даже если другой процесс использует активные записи, он не использует одну и ту же строку соединения или что-то еще
это смешно, потому что я начинаю новый запрос на завершении ely другая таблица, является activerecord, пытаясь повторно использовать существующее соединение, которое истекло? Я пытался добавить «Пулы = False» и «Подтвердить подключение = True» не повезло
заранее спасибо
спасибо, это то, что я ожидал, в настоящее время я не я использую SessionScopeWebModule так что нет так что связь будет оставаться открытой при перенаправлении. Я думаю, –
обновленный ответ для вашей ситуации –