Как это работает, зависит от того, используете ли вы тип проекта «веб-сайт» или «веб-приложение». Если вы используете обычный проект веб-сайта asp.net, у вас будет динамически сгенерированный объект Profile, из которого вы можете извлекать пользовательские свойства.
Если ваше приложение MVC или проект веб-приложения, вам придется создать собственный объект профиля. Я рекомендую вам взять конструктор веб-профилей . Этот инструмент создает объект ProfileCommon, необходимый для получения данных профиля.
В целом, я лично обнаружил, что благодаря системе многократного разоблачения система провайдеров профилей, предоставляемая на asp.net, весьма ужасна для хранения фактической пользовательской информации (того типа, для которого вы ее используете). Механизм поставщика профилей отлично подходит для таких вещей, как пользовательские настройки (обычно называемые персонализацией), таких как «всегда показывать детали» или «я предпочитаю зеленый фон». Причина в том, что система профилей делает данные профиля легкодоступными только по запросу одного пользователя. Если у вас есть инструменты администратора, которые должны читать из профилей нескольких пользователей, вы обнаружите, что производительность будет быстро снижаться, и получить данные профиля на самом деле довольно сложно.
По этим причинам я рекомендую вам не использовать систему профилей для данных, которые вы там храните. Вам будет гораздо лучше катать свои собственные таблицы и объекты, чтобы хранить и извлекать эту конкретную информацию. Но если вам никогда не понадобится доступ к данным для более чем одного пользователя одновременно, встроенный профиль хорошо.