Статические объекты в ASP.NET — пустая трата памяти?

На днях я только задавался этим вопросом. Я не совсем уверен, как 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
  }
6
задан Serguei Fedorov 20 June 2012 в 21:54
поделиться