Ich versuche, meine eigene Implementierung Generic zu implementieren, aber halten Sie die folgenden Fehler zu erhalten, wenn es um die Ansichten zu laden versucht (Ich verwende asp.net MVC):SerializationException mit benutzerdefinierten GenericIdentiy?
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"
Ich habe mit der am Ende folgende Klasse:
[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; }
}
}
In meinem Global.asax ich ein Cookie eines serialisierten Wert in einen Speicher-Stream lesen und dann verwenden, um mein OpenIDExtendedIdentity-Objekt zu erstellen. Nach unzähligen Versuchen verschiedener Art endete ich mit diesem Lösungsversuch. Es funktioniert bis zu dem Punkt, an dem es versucht, die Ansichten zu rendern.
Was ich im Wesentlichen zu erreichen versuchen, ist die Fähigkeit, die folgenden Aufgaben (Während die Standard-Rollenmanager von asp.net verwenden):
User.Identity.UserID
User.Identity.NickName
... etc.
ich einige der Quellen aufgelistet habe ich habe lies meinen Versuch, das gelöst zu bekommen. Einige Leute haben einen Cassini-Fehler gemeldet, aber es sieht so aus, als ob andere diese Art benutzerdefinierter Funktionen erfolgreich implementiert hätten.
- http://forums.asp.net/p/32497/161775.aspx
- http://ondotnet.com/pub/a/dotnet/2004/02/02/effectiveformsauth.html
- http://social.msdn.microsoft.com/Forums/en-US/netfxremoting/thread/e6767ae2-dfbf-445b-9139-93735f1a0f72