Je suis en train de:Debugging: Comment déboguer « Type est pas marqué comme sérialisable » exception lorsque le type est marqué comme sérialisable
((Request.Params["crmid"] != null))
dans une page Web. Mais il ne cesse de lancer une exception sérialisation:
Type 'QC.Security.SL.SiteUser' dans assembly 'QC.Security, Version = 1.0.0.1, Culture = neutral, PublicKeyToken = null' est pas marqué comme sérialisable.
Le type, un IIdentity personnalisé, est cependant marqué comme sérialisable comme suit:
[Serializable()]
public class SiteUser : IIdentity
{
private long _userId;
public long UserId { get { return _userId; } set { _userId = value; } }
private string _name;
public string Name { get { return _name; } }
private bool _isAuthenticated;
public bool IsAuthenticated { get { return _isAuthenticated; } }
private string _authenticationType;
public string AuthenticationType { get { return _authenticationType; } }
Je ne sais pas comment déboguer ce que je ne peux pas entrer dans le code sérialiseur pour savoir pourquoi son tomber. La pile d'appels n'est profonde que d'une image avant qu'elle ne touche [Code externe]. Et le message d'erreur est à côté de inutile étant donné que le type est clairement marqué comme sérialisable. Les ajustements d'essai et d'erreur ont également produit un type n'est pas résolu pour l'exception de membre.
Cela fonctionnait bien. Mais maintenant "tout d'un coup" ce n'est pas ce qui signifie généralement un bug bête dans Visual Studio, mais le redémarrage n'aide pas "cette" fois. Donc maintenant je ne sais pas si c'est un bogue VS stupide ou une erreur complètement indépendante pour laquelle je reçois une exception de sérialisation ou quelque chose que je fais mal. La vérité c'est que je ne fais plus confiance à VS étant donné le nombre de chasses aux oies sauvages que j'ai eues au cours des derniers mois qui ont été "corrigées" en redémarrant VS 2008 ou une autre solution de contournement redoutable.
Bien que vous résolu le problème, mais qui se développe dans cassini de toute façon? Pourquoi ne pas développer directement sur la plate-forme qui va héberger votre site web (IIS)? Cela vous épargnera beaucoup de problèmes à long terme. –
J'ai le même problème - quelle tortue. Je vais regarder dans le correctif marshalbyrefobject. Je vous remercie. – UpTheCreek
En outre, jetez un oeil à ceci: http://stackoverflow.com/questions/1884030/implementing-a-custom-identity-and-iprincipal-in-mvc – UpTheCreek