【发布时间】:2011-04-13 14:06:33
【问题描述】:
我正在使用 ASP.NET SqlMembershipProvider 在 Web 应用程序上实现授权,但它在调用 GetUser 方法时随机抛出一个无效的强制转换异常。
我可以登录并浏览页面一切正常,但比随机点,繁荣,它废话,并抛出异常:
Unable to cast object of type 'System.Int32' to type 'System.String'
查看堆栈跟踪,您可以清楚地看到它是由 Membership Provider 引起的:
[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
我环顾四周,发现其他人有同样的问题,但没有解决方案。欢迎任何想法。
【问题讨论】:
标签: asp.net sql sql-server .net-4.0 sqlmembershipprovider