Хорошо, я работаю с ColdFusion 20 лет и никогда такого не видел. У меня есть сайт ContentBox (не верю, что это влияет на проблему, но я хотел включить информацию), где у меня извлекаются внешние веб-страницы, а внутренний код запускается через шлюз событий. Каждую минуту я получаю около 30 событий шлюза. Моя проблема в том, что у меня переменные исчезают в середине процедуры при запуске интерфейсных веб-страниц (обычно для извлечения данных из базы данных).
Поскольку в каталогах модулей ContenBox / ColdBox есть Application.cfcs, содержащий команды прерывания, событие шлюза cfc находится в подпапке непосредственно под корнем приложения (поскольку любое прерывание в cfc шлюза или его Application.cfc приводит к ошибке шлюза).
Точка ошибки в коде постоянно меняется. Иногда структурный ключ отсутствует ВО ВРЕМЯ перебора ключей структуры:
for(var structKey in structureName)
{
var structValue = structureName[structKey];
}
В других случаях код ссылается на структуру в области приложения, и, опять же, ключ, который присутствовал несколькими строками ранее, теперь отсутствует и вызывает ошибку. Таким образом, кажется, что различные области действия переменных (переменные, приложение и т. Д.) Теряют свои значения во время обработки веб-страницы (что часто происходит во время обработки событий шлюза).
Веб-сервер надежно защищен, и у меня нет проблем с незащищенной разработкой / постановкой. Поэтому я, конечно же, чувствую, что что-то в системе безопасности вызывает эту проблему. Я не видел в журналах ничего, что могло бы указать мне на проблему.
Из-за договорных обязательств я не могу разместить здесь код. Тем не менее, я думаю, что описание поддается идее, что проблема не в коде CF, а в усилении защиты сервера.
Есть ли у кого-нибудь идеи, какие вещи могут привести к тому, что приложение CF потеряет переменные в середине потока?