1

我有一个带有手写 DAL 的网络应用程序。它使用 Microsoft 应用程序块来实际连接到 MS SQL 服务器数据库。

当应用程序处于中等到重负载下时,它将返回错误的结果集。没有系统的方法来重现错误。我可以在 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 回答