Я просто удивился этому на днях. Я не совсем уверен, как ASPX управляет удалением мусора, но насколько я могу сказать, «готовая загрузка» не удаляет значения статической памяти или после перезагрузки страницы. Статический, по крайней мере, с точки зрения С означает, что распределение памяти следует за вашей программой до тех пор, пока сама программа не будет отключена. Это то же самое в ASPX? Если у меня есть статическое значение, и я перехожу от страницы А к странице В, статическое значение все еще сохраняется в ОЗУ до тех пор, пока они не покинут приложение или это значение не будет удалено, если я больше не на странице А? (перейдите на другой веб-сайт, удалив свой экземпляр из пула приложений на сервере).Статические объекты в ASP.NET пустой тратой памяти?
Из того, что я испытал:
public static class foo
{
public static int x;
}
protected void Page_Load(object sender, EventArgs e)
{
foo.x++; //This will continue to increment from the last value before reload
}
http://stackoverflow.com/questions/1714064 –
http://stackoverflow.com/questions/1563171 –
http://stackoverflow.com/questions/3814608 –