Ошибка IIS «Невозможно привести объект типа« System.DirectoryServices.AccountManagement.GroupPrincipal »» - PullRequest
1 голос
/ 15 марта 2012

Пример кода:

staffName.Text = UserPrincipal.Current.Name;

Привет, у меня есть эта ошибка, когда я публикую свой проект в IIS от vs2010. Может кто-нибудь помочь мне, даже тогда я пытался удалить код и ссылки, я все еще получаю эту ошибку (что странно).

Ошибка:

Unable to cast object of type 'System.DirectoryServices.AccountManagement.GroupPrincipal' to type 'System.DirectoryServices.AccountManagement.UserPrincipal'.

Трассировка стека:

[InvalidCastException: Unable to cast object of type 'System.DirectoryServices.AccountManagement.GroupPrincipal' to type 'System.DirectoryServices.AccountManagement.UserPrincipal'.]
   System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(PrincipalContext context, IdentityType identityType, String identityValue) +57
   System.DirectoryServices.AccountManagement.UserPrincipal.get_Current() +218
   Appraisal.Staffmain.Page_Load(Object sender, EventArgs e) +121
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

1 Ответ

1 голос
/ 15 марта 2012

Я бы переключил это на использование атрибута HttpContext.Current.User.Identity.Name.

staffName.Text = HttpContext.Current.User.Identity.Name;

Это даст вам текущего пользователя для веб-приложения.

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