Я реализую авторизацию в веб-приложении с использованием ASP.NET SqlMembershipProvider, но он случайно генерирует недопустимое исключение приведения при вызове метода GetUser.
Я могу войти в систему и нормально перемещаться по страницам, но в случайных точках, бум, он вылетает и выдает исключение:
Unable to cast object of type 'System.Int32' to type 'System.String'
Глядя на трассировку стека, вы можете ясно увидеть, что она вызывается провайдером членства:
[InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.String'.]
System.Data.SqlClient.SqlBuffer.get_String() +5002910
System.Data.SqlClient.SqlDataReader.GetString(Int32 i) +55
System.Web.Security.SqlMembershipProvider.GetUser(String username, Boolean userIsOnline) +1169
System.Web.Security.Membership.GetUser(String username, Boolean userIsOnline) +63
System.Web.Security.Membership.GetUser() +19
_Default.LoadLeadOverview() in \\file1\default.aspx.vb:169
_Default.Page_Load(Object sender, EventArgs e) in \\file1\default.aspx.vb:30
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207
Я осмотрелся и нашел других людей с такой же проблемой, но без решения.Любые мысли приветствуются.