時々エラーが発生するライブ実行中のビジネスシステムがあります。エラーは、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
誰が何が悪いのか考えていますか?
更新: このエラーの解決策が見つかりませんでした。しかし、やがて姿を消しました。
別のサーバーに移行すると、このエラーによりアプリケーションが完全に機能しなくなります。私は完全にアイデアがありません:(