Я искал проблему с приложением Visual Fox Pro (созданным с помощью инфраструктуры Visual Fox Express), которое, как я подозреваю, вызвано состоянием гонки. Приложение размещается на сервере Citrix XenApp, и при определенных условиях данные, отображаемые в определенной форме, отображаются некорректно и изменяются на нечто иное, чем то, что вводит пользователь.Состояние гонки, вызванное курсорами, сохраняется в файлах temp - возможно ли это
В представленной форме отображается список записей, возвращенных из запроса в базе данных SQL Server, на основе определенной информации, введенной пользователем.
Если это то, что происходит, я подозреваю, что последовательность событий, что-то вроде этого:
1) Пользователь вводит данные 1 и приводит к форме dispay сетки данных результатов, возвращаемых из базы данных.
2) Пользователь 2 открывает такую же форму на другом сеансе Citrix и вводит данные , вызывая форму для отображения данных сетки результатов, возвращаемых из базы данных. Этот курсор сохраняется на диске и перезаписывается, или как-то конфликтует с курсором пользователя 1 для этой формы.
3) Некоторые механизмы курсора FoxPro на экземпляре пользователя 1 видят измененные данные в курсоре (от пользователя 2) и обновляют экран данными с помощью курсора .
Я мало знаю о том, как работает FoxPro, но из того, что я понимаю, в некоторых случаях курсор будет сохранен в временном файле. На нашем сервере приложений Citrix эту временную папку можно разделить между 10 и 50 пользователями. Я ищу информацию о том, что условие гонки, вызванное курсором, записанным в файл в папке temp, является тем, что даже возможно, чтобы я мог продолжить исследование этого пути или окончательно исключить его.
Я знаю, что есть способы сделать так, чтобы файлы temp FoxPro были записаны в другую папку для каждого пользователя, и я работаю над внесением изменений, но я хотел бы узнать, видел ли кто-нибудь еще аналогичная проблема или думает, что то, что я подозреваю, действительно возможно.