Я пытаюсь реализовать свою собственную реализацию GenericIdentity, но продолжаю получать следующую ошибку, когда она пытается загрузить представления (я использую asp.net MVC):
System.Runtime.Serialization.SerializationException was unhandled
by user code Message="Type is not resolved for member
'OpenIDExtendedIdentity,Training.Web, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null'."
Source="WebDev.WebHost"
Я закончил со следующим классом:
[Serializable]
public class OpenIDExtendedIdentity : GenericIdentity {
private string _nickName;
private int _userId;
public OpenIDExtendedIdentity(String name, string nickName, int userId)
: base(name, "OpenID") {
_nickName = nickName;
_userId = userId;
}
public string NickName {
get { return _nickName; }
}
public int UserID {
get { return _userId; }
}
}
В моем Global.asax я считываю сериализованное значение cookie в поток памяти и затем использую его для создания моего объекта OpenIDExtendedIdentity. Я закончил эту попытку решения после бесчисленных попыток различных видов. Он работает корректно вплоть до того момента, когда он пытается отобразить представления.
То, чего я в основном пытаюсь достичь, - это возможность сделать следующее (при использовании менеджера ролей по умолчанию из asp.net):
User.Identity.UserID
User.Identity.NickName
... etc.
Я перечислил некоторые источники, которые я прочитал, пытаясь решить эту проблему. Некоторые люди сообщают об ошибке Cassini, но, похоже, что другие добились успеха в реализации этого типа пользовательских функций - таким образом, я поражен.