Peu de nos clients obtiennent régulièrement exception fonte invalide, avec des variations -à-dire InvalidCastException
/ProviderException
, mais les deux générer à partir appel de méthode: System.Web.Security.SqlRoleProvider.GetRolesForUser(String username)
ProviderException: InvalidCastException
L'autre variante est:
Exception type:
InvalidCastException
Message d'exception: Impossible de convertir l'objet de typeSystem.Int32
en typeSystem.String
.
J'ai regardé journal des événements qui montre:
Stack trace:
at System.Web.Security.SqlRoleProvider.GetRolesForUser(String username)
at System.Web.Security.RolePrincipal.IsInRole(String role)
at System.Web.Configuration.AuthorizationRule.IsTheUserInAnyRole(StringCollection roles, IPrincipal principal)
at System.Web.Configuration.AuthorizationRule.IsUserAllowed(IPrincipal user, String verb)
at System.Web.Configuration.AuthorizationRuleCollection.IsUserAllowed(IPrincipal user, String verb)
at System.Web.Security.UrlAuthorizationModule.OnEnter(Object source, EventArgs eventArgs)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)*
Quelqu'un at-il rencontré ce problème, et si oui, quelle est la solution?
Merci
JS
Shhnap merci pour votre réponse, j'aimerais passer le bon paramètre, mais aussi évident à partir de la trace de la pile, ce qui semble se produire en raison de la asp façon .net gère en interne l'adhésion. Il est également intéressant de noter que cette erreur ne se produit pas très souvent, peut-être une fois par jour ou parfois à chaque tentative de connexion. Il est difficile à reproduire de manière cohérente, ce qui rend la réparation encore plus difficile. Pour plus d'informations, cela se produit lorsqu'un appel est fait à cette méthode Membership.GetUser (Login.UserName); –