Это позволяет Вам делать свое собственное управление памятью. Обычно это будет получать Вас в лучшем случае незначительно улучшенная производительность, но иногда это - большая победа. Например, если Ваша программа использует большое количество объектов стандартного размера, Вы могли бы хорошо хотеть сделать пул с одним выделением памяти большой емкости.
Этот вид вещи был также сделан в C, но так как нет никаких конструкторов в C, это не потребовало никакой поддержки языка.
ASP.NET MVC не использует ViewState в традиционном смысле (в смысле хранения значений элементов управления на веб-странице). Скорее, значения элементов управления отправляются в метод контроллера. После вызова метода контроллера решение о том, что вы делаете с этими значениями, зависит от вас.
ASP.NET MVC будет сохранять значения элементов управления достаточно долго, чтобы вы могли их проверить и (при необходимости) отправить их обратно на вашу страницу для редактирования или исправления. Если элементы управления подтверждены,
If you're wanting to make for example, a Wizard styled form, you could create a Serializable class to retain the viewstate:
[Serializable]
public class MyWizard
{
public string Field1 { get; set; }
public string Field2 { get; set; }
}
You could then serialize this class and use it in a similar way to using ViewState (as a hidden field in the form).