Новое в C #.В экземпляре объекта не задана ссылка на объект.nJupiter LDAP - PullRequest
1 голос
/ 02 февраля 2012

HELP ...... Я только что переместился в C # из vb, и я действительно потерял с этим.

var ldapmembershipUser = (LdapMembershipUser)System.Web.Security.Membership.GetUser("username");
var cnAttributeValues = ldapmembershipUser.Attributes["cn"];

Код возвращается в cnAttributeValues ​​со ссылкой на объект, не установленной для экземпляра объекта.

Я не знаю, как установить его как новый ??Объект?

Это ссылка на элементы управления nJupiter google.

Ответы [ 3 ]

3 голосов
/ 02 февраля 2012

Membership.GetUser(string) это задокументировано для возврата:

Объект MembershipUser, представляющий указанного пользователя. Если параметр username не соответствует существующему пользователю, этот метод возвращает Nothing.

Так вот что здесь происходит - ldapmembershipUser - ноль, потому что такого пользователя нет. Вы должны проверить это и действовать соответственно:

// Note name casing change here to keep my sanity.
if (ldapMembershipUser == null)
{
    // Take appropriate action
}

Обратите внимание, что могут возникнуть проблемы, если GetUser возвращает ссылку на объект, который не LdapMembershipUser.

1 голос
/ 02 февраля 2012

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

1 голос
/ 02 февраля 2012

Это будет означать, что GetUser вернул null, вероятно, потому что нет пользователя с таким именем.

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