Для этого в ASP.Net Identity вы обрабатываете ответы как пользовательские пароли.
Используйте userManager.PasswordHasher.HashPassword(Answer1);
для генерации хэша для каждого ответа для сохранения в пользовательских свойствах / полях класса в базе данных. (Где userManager - это экземпляр Identity UserManager)
При восстановлении используйте
var verification = userManager.PasswordHasher.VerifyHashedPassword(dbHash, Answer1);
, чтобы проверить вызов.
Затем вы можете проверить, f3] истинно для каждого ответа.
ref: MSDN
readResolve
используется для замены объекта, считанного из потока. Единственное применение, которое я когда-либо видел для этого, - это принуждение к синглетонам; при чтении объекта замените его экземпляром синглтона. Это гарантирует, что никто не сможет создать другой экземпляр путем сериализации и десериализации синглтона.
Пункт 90, Эффективная Java, 3-е издание охватывает readResolve
и writeReplace
для последовательных прокси - их основное применение. В примерах не записываются методы readObject
и writeObject
, поскольку они используют сериализацию по умолчанию для чтения и записи полей.
readResolve
вызывается после readObject
] вернулся (и наоборот, writeReplace
вызывается перед writeObject
и, вероятно, для другого объекта). Объект, возвращаемый методом, заменяет этот
объект, возвращенный пользователю ObjectInputStream.readObject
, и любые дальнейшие обратные ссылки на объект в потоке. И readResolve
, и writeReplace
могут возвращать объекты одного или разных типов. Возвращение того же типа полезно в некоторых случаях, когда поля должны быть final
и либо требуется обратная совместимость, либо значения должны копироваться и / или проверяться.
Использование readResolve
не обеспечивает одноэлементное свойство.