4

ASP.NET SqlMembershipProvider を使用して Web アプリケーションに承認を実装していますが、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

私は周りを見回して、同じ問題を抱えている他の人を見つけましたが、解決策はありません. どんな考えでも大歓迎です。

4

2 に答える 2

1

この問題を具体的に解決するために何もしていませんが、数週間見ていません。振り返ってみると、同じアカウントを使用して複数のブラウザで同時にサイトをテストしていて、何度もログインとログアウトを繰り返していたときに問題が発生したようです。これですべての CSS およびその他のクロス ブラウザーに関する問題が解決されました。マルチ ブラウザーをそれほど頻繁に使用していません。

于 2011-05-18T08:26:16.713 に答える
0

一部のユーザーがユーザー名としてすべて数字を使用している可能性はありますか? 途中で auto タイプのボクシングが間違っている可能性があります。

于 2011-04-15T12:52:56.057 に答える