1

手書きのDALを使用したWebアプリがあります。Microsoft Application Blocksを使用して、実際にMSSQLサーバーデータベースに接続します。

アプリケーションに中程度から重い負荷がかかると、間違った結果セットが返されます。エラーを再現する体系的な方法はありません。SQL Server Management Studioでクエリを再実行して、毎回正しい結果を得ることができます。

次のようなエラーが発生します

DataBinding: 'System.Data.Common.DataRecordInternal' does not contain a property 
    with the name 'TitleName'.

System.IndexOutOfRangeException: TitleId at 
    System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName)
4

1 に答える 1

1

問題は、静的なSqlConnectionオブジェクトを使用するメソッドへのAJAX呼び出しであることになりました。

このオブジェクトは接続プールにあり、他の何かに再割り当てされて変化します。したがって、AJAXメソッドが呼び出されたときにユーザーAがページをロードしていて、ユーザーBがページを要求していて、ユーザーAの静的接続の問題が発生した場合。

于 2013-02-18T16:21:29.717 に答える