ユーザーがアプリケーションから強制的にログアウトされるという断続的な問題が発生しています。
私たちのセットアップは、Windows Server 2003 Standard Edition 上の ASP.Net/C# Web アプリケーションであり、バックエンドに SQL Server 2000 があります。最近、クライアントの VMWare サーバーで主要な製品アップグレードを実行しました (専用のゲスト インスタンスがあります)。以前のリリースではこれらの問題はまったくありませんでしたが、新しいアップグレードが製品にもたらす複雑さが増し、問題が発生しました。多くの問題。また、SQL Server 2000 (ビルド 8.00.2039、または SP4) と IIS/ASP.NET (.Net v2.0.50727) アプリケーションを同じボックスで実行し、TCP/IP 接続を介して相互に接続しています。
主に、スローされる例外は次のとおりです。
System.IndexOutOfRangeException: テーブル 0 が見つかりません。
System.ArgumentException: 列 'password' はテーブル Table に属していません。
[明らかに利用可能なパスワード列があるにもかかわらず、この例外はログイン スクリプトで発生します]
System.InvalidOperationException: このコマンドに関連付けられている開いている DataReader が既に存在します。これを最初に閉じる必要があります。
[これは非常に定期的に発生しています]
System.InvalidOperationException: この SqlTransaction は完了しました。使用できなくなります。
System.ApplicationException: ExecuteReader には、オープンで使用可能な接続が必要です。接続の現在の状態は接続中です。
System.Data.SqlClient.SqlException: タイムアウトが発生しました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。
そして今日、初めて:
System.Web.UI.ViewStateException: 無効なビューステートです。
実稼働サーバーと同じ数の同時ユーザーを使用してアプリの負荷テストを行いましたが、これらのエラーを再現することはできません。それらは非常に断続的であり、8/9/10 のユーザー接続しかない場合でも発生します。私の腸は、ASP.NET - SQL Server 2000 接続の問題を教えてくれます..
この段階では、コード レベルのデータ アクセス レイヤー エラーはほぼ除外されているため (15 人の経験豊富な開発者からなる開発チームがこれに取り組んでいます)、特定の運用サーバー環境の問題であると考えています。