Добавьте, что уникальный идентификатор ко всем Вашим экземплярам, т.е.
public interface Idable {
int id();
}
public class IdGenerator {
private static int id = 0;
public static synchronized int generate() { return id++; }
}
public abstract class AbstractSomething implements Idable {
private int id;
public AbstractSomething () {
this.id = IdGenerator.generate();
}
public int id() { return id; }
}
Расширяются от AbstractSomething и запрашивают это свойство. Будет безопасно в единственном vm (принимающий ведение игры с classloaders обойти помехи).
Я исправил это сейчас, изменив код на:
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if (User.Identity.IsAuthenticated)
ViewStateUserKey = User.Identity.Name;
}
Можно ли отключить кодирование MAC ViewState с помощью атрибута EnableViewStateMac @Page?