我们的客户中很少有人会定期收到无效的演员,但会有变化
即InvalidCastException
/ ProviderException
,但两者均来自
方法调用:System.Web.Security.SqlRoleProvider.GetRolesForUser(String username)
另一个变体是:
例外类型:
InvalidCastException
异常消息:无法将System.Int32
类型的对象强制转换为System.String
类型。
我查看了应用程序事件日志,其中显示了:
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)*
有没有人遇到过这个问题,如果有的话,有什么问题?
由于
JS
答案 0 :(得分:0)
错误消息告诉您正在尝试将(读取转换)从整数类型转换为字符串类型,并且该转换未成功。这发生在GetRolesForUser(String)函数中。所以也许你传递一个整数而不是一个字符串,它被错误地解析。无论哪种方式,我们都需要更多代码才能确定。我希望这会有所帮助。
尝试确保无论何时将整数赋予需要字符串传递的内容,首先要调用toString()函数。例如:
GetRolesForUser(someInt32Var.toString())