Наша компания использует приложение, которое изначально было ColdFusion + Access, позднее преобразованное в классический ASP + MS Sql для отслеживания задач / времени, называемое системой запросов. Он разбит по департаментам, поэтому есть один для MIS, маркетинга, логистики и т. Д. Проблема возникает, когда (в основном менеджеры) используют более одного за раз, с двумя открытыми окнами браузера. Система запросов использует переменные сеанса, множество переменных сеанса, в сеансе упоминается 2300 раз в приложении. Когда 2 открыты одновременно, как вы можете себе представить, это вызывает всевозможные аномалии из-за перепутывания переменных.
В системе есть 3-летний запрос MIS, чтобы «исправить» это, и над ним работали 3 разработчика, и теперь моя очередь попробовать. Мне было интересно, приходилось ли кому-то еще работать над таким проектом, и был ли какой-то взлом, чтобы попытаться смягчить некоторые из проблем. Я думал о том, чтобы вызвать что-то в global.asa для загрузки misc. переменные сеанса из строки запроса. Проблема в том, что все это происходит:
If (Session("Application") <> Request("App")) and Request("App") <> "" THEN
Session("Application") = Request("App")
End If
Рассматривая функции во включаемых файлах, вы получите функцию с 4 параметрами, которая делает ссылки на 6 различных переменных сеанса. Итак, вы поняли, это будет больно.
Кто-нибудь должен был делать что-то подобное в прошлом? Какие хаки вы нашли полезными?