Как получить профиль другого пользователя в ASP.NET MVC? - PullRequest
3 голосов
/ 08 октября 2009

Я хочу установить cookie с часовым поясом пользователя при входе в систему. AccountController.LogOn () кажется лучшим местом для этого. Тем не менее, я пока не могу прочитать профиль пользователя там, так как полагаю, что у вас есть доступ к профилям только после завершения метода. Итак, этот код возвращает пустую строку:

Dim timeZone = HttpContext.Profile("TZ").ToString

После того, как пользователь полностью вошел в систему, приведенный выше код возвращает правильный часовой пояс.

Одним из решений является чтение профиля для имени пользователя, пытающегося войти в систему AccountController.LogOn ():

ProfileCommon profile = Profile.GetProfile(username);  // FAILS

Однако это не работает.

Итак, как мне прочитать профиль данного пользователя, если он не вошел в систему?

Ответы [ 2 ]

8 голосов
/ 08 октября 2009

это не выглядит очевидным, но получить профиль:

ProfileBase profile = ProfileBase.Create(HttpContext.Profile.UserName, true);

возвращает существующий экземпляр.

1 голос
/ 08 октября 2009

В дополнение к ответу Матиаса вы можете затем привести его в свой набранный профиль:

ProfileCommon profile = (ProfileCommon)ProfileBase.Create(username, true);

Кроме того, документация для ProfileBase.Create находится на MSDN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...