На днях я только задавался этим вопросом. Я не совсем уверен, как ASPX управляет удалением мусора, но, насколько я могу судить, «завершенная загрузка» не удаляет значения статической памяти или после перезагрузки страницы. Статика, по крайней мере, с точки зрения C означает, что выделение памяти следует за вашей программой до тех пор, пока сама программа не будет закрыта. Это то же самое в ASPX? Если у меня есть статическое значение, и я перехожу со страницы A на страницу B, сохраняется ли это статическое значение в ОЗУ до тех пор, пока они не покинут приложение, или это значение удаляется, когда я больше не нахожусь на странице A? (перейдите на другой веб-сайт, удалив свой экземпляр из пула приложений на сервере).
Из того, что я испытал:
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
}