Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net成员资格错误_Asp.net_Casting_Asp.net Membership - Fatal编程技术网

Asp.net成员资格错误

Asp.net成员资格错误,asp.net,casting,asp.net-membership,Asp.net,Casting,Asp.net Membership,我们有一个实时运行的业务系统,不时出现错误。该错误与asp.net成员资格提供程序提交的堆栈跟踪有关。当前登录的用户似乎并不重要。据我所知,数据库中的asp.net成员资格表很好 生成错误的代码行示例: if (Membership.GetUser() != null) 错误说明: Unable to cast object of type 'System.Int32' to type 'System.String'. 堆栈跟踪: [InvalidCastException: Unable

我们有一个实时运行的业务系统,不时出现错误。该错误与asp.net成员资格提供程序提交的堆栈跟踪有关。当前登录的用户似乎并不重要。据我所知,数据库中的asp.net成员资格表很好

生成错误的代码行示例:

if (Membership.GetUser() != null)
错误说明:

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() +141
System.Data.SqlClient.SqlDataReader.GetString(Int32 i) +96
System.Web.Security.SqlMembershipProvider.GetNullableString(SqlDataReader reader, Int32 col) +35
System.Web.Security.SqlMembershipProvider.GetUser(String username, Boolean userIsOnline) +1110
System.Web.Security.Membership.GetUser(String username, Boolean userIsOnline) +82
System.Web.Security.Membership.GetUser() +19
有人知道怎么回事吗


更新:我们无法找到此错误的解决方案。但最终它消失了


现在,当我们迁移到另一台服务器时,这个错误完全破坏了我们的应用程序。我完全没有主意了:(

在Membership.GetUser()调用周围放置一个try/catch块,并记录用户名。您可以通过调用Membership.GetCurrentUserName()来获取用户名

一旦你有了一个用户名,这就给你带来了问题,请查看SQL中的成员资格表并查看注释字段。我猜注释字段中发生了一些有趣的事情-可能有一些奇怪的unicode字符,或者该字段中的数据太多,等等


另外,试着在会员数据库中为遇到问题的用户调用dbo.aspnet\u Membership\u GetUserByName,看看结果如何。

这似乎发生在堆栈的底层…哎呀-我们现在也有同样的问题-不知道。伙计,我也有这个问题,这让我发疯了。我觉得我需要编写自己的会员资格供应商。