Содержимое профилей проверить, если установлено? - PullRequest
1 голос
/ 03 июля 2010

Используя профили asp.net, я сохранил сложный тип (класс) и получил его.Но он возвращает новый объект, который не инициализирован вместо нуля?Является ли это ожидаемым поведением, если да, то как я могу определить, сохранил ли я данные для данного пользователя?

должно быть несколько простых моментов, которые кто-то может подобрать ..

1 Ответ

1 голос
/ 03 июля 2010

Ваш вопрос немного неясен, но я думаю, что вы спрашиваете, почему существует объект данных ненулевого профиля для пользователя, для которого вы еще не сохранили данные?

Эта статья , возможно, поможет вам разобраться. Некоторые из соответствующих битов:

Профиль пользователя - это коллекция значения, которые во время выполнения ASP.NET 2.0 группы как открытые поля динамически генерируемый класс. Класс происходит от системы, предоставленной класс и расширен с добавление нескольких новых членов. класс не должен быть отмечен как Сериализуемый, однако его содержимое сохраняется на носителе как индивидуальные свойства. Хранение происходит для каждого пользователя и является сохраняется до администратора удаляет его.

и далее вниз:

Когда приложение запускается и страница ASP.NET отображается динамически создает объект профиля, который содержит правильно введенные данные и присваивает текущие настройки для зарегистрированного пользователя к свойствам, определенным в данных модель. Объект профиля добавлен в текущий объект HttpContext и сделать доступными для страниц через Свойство профиля. Предполагая, что модель профиля была определена для сохранить список ссылок в виде коллекции, следующий фрагмент кода показывает, как получить список избранных ссылок которые созданы данным пользователем:

...

Этот код принимает свойство Links в объект профиля, который ссылается на Тип коллекции. Когда страница загружены, ссылки и другие свойства инициализированы, чтобы содержать наиболее недавно сохраненные значения; когда страница выгружается их текущее содержимое сохраняется на постоянном носителе.

Если вам необходимо отследить, устанавливал ли пользователь когда-либо ранее данные профиля, вы можете использовать функцию FindProfilesByUserName , чтобы проверить, существует ли профиль, прежде чем войти в него.

...