Я нахожусь в процессе преобразования классического приложения ASP в ASP.Net и наткнулся на кирпичную стену, связанную с глобальными переменными (или переменными области видимости страницы). Как примечание, приложение не является типичным в том смысле, что оно не создает HTML. Вместо этого он получает запросы AJAX и возвращает строки JSON, поэтому он не использует много функций asp.net. Впервые за долгое время поиск в Google не привел меня к ответу!
В коде asp мы используем ряд глобальных переменных, определенных в variables.asp, например:
<%
dim lId
%>
Этот asp затем включается во все страницы. Существует ряд других включаемых файлов, которые ссылаются на эти переменные, а также на сами страницы.
Для asp.net ближе всего я могу найти переменные .aspx:
<SCRIPT LANGUAGE="VBScript" RunAt="Server">
shared dim lId as integer
</SCRIPT>
Однако я понимаю, что эта переменная гораздо более «глобальна», чем она работала в .asp, и что она может вызывать проблемы с многопоточностью и т. Д., И что они эффективно работают подобно использованию объекта Application (), а это не то, что Я после.
По сути, мне нужно иметь возможность объявлять переменную, на которую можно ссылаться в других включениях и на базовой странице, чья область действия / время жизни только для обработки этой страницы.
На данном этапе единственное, что я могу придумать, - это использовать переменные сеанса и очищать их в конце каждой обработки, но я боюсь работы / проблем такого преобразования