﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Business Objects and Data Access (How do I?)  » Index was outside the bounds of the array - stress test</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 09 Jun 2026 12:20:28 GMT</lastBuildDate><ttl>20</ttl><item><title>Index was outside the bounds of the array - stress test</title><link>http://forum.strataframe.net/FindPost30107.aspx</link><description>Hi&lt;div&gt;I have code as below&amp;nbsp;&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp;public virtual void Write(string userName, DateTime dated, string objectName, string action, string hostName)&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using (ActivityLogsBO logger = new ActivityLogsBO())&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //logger.DataSourceKey = this._dataSource;&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; logger.Write(userName, dated, objectName, action, hostName);&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;//--AcitivityBO.cs&lt;br/&gt;&lt;div&gt;public void Write(string userName, DateTime logDate, string objectName, string action, string hostName)&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.NewRow();&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Username = userName;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.DateTime = logDate;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.ObjectName = objectName;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Action = action;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.HostName = hostName;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SaveUndoResult result = this.Save();&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (result != SaveUndoResult.Success)&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new ApplicationException("Failed to activity log error:" + userName + action);&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div&gt;When I run stress test to it about 30 vusers, it will hit error as below&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Exception information:&amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; Exception type: DataLayerSavingException&amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; Exception message: Index was outside the bounds of the array.&amp;nbsp;&lt;div&gt;&amp;nbsp;&lt;div&gt;Request information:&amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; Request URL: &lt;a href="http://kkchan-pc/flexhr_6244/Security/Forms/UserLogin.aspx&amp;nbsp;"&gt;http://kkchan-pc/flexhr_6244/Security/Forms/UserLogin.aspx&amp;nbsp;&lt;/a&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; Request path: /flexhr_6244/Security/Forms/UserLogin.aspx&amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; User host address: 192.168.2.100&amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; User: &amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; Is authenticated: False&amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; Authentication Type: &amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; Thread account name: IIS APPPOOL\FlexHR_6244AppPool&amp;nbsp;&lt;div&gt;&amp;nbsp;&lt;div&gt;Thread information:&amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; Thread ID: 21&amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; Thread account name: IIS APPPOOL\FlexHR_6244AppPool&amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; Is impersonating: False&amp;nbsp;&lt;div&gt;&amp;nbsp; &amp;nbsp; Stack trace: &amp;nbsp; &amp;nbsp;at MicroFour.StrataFrame.Data.DataLayer.UpdateDataTable(DataTable TableToUpdate, Boolean Transactional, String TransactionKey)&lt;div&gt;&amp;nbsp; &amp;nbsp;at MicroFour.StrataFrame.Data.DataLayer.Save(DataTable TableToSave, Boolean Transactional, String TransactionKey)&lt;div&gt;&amp;nbsp; &amp;nbsp;at MicroFour.StrataFrame.Business.BusinessLayer.Save(Boolean Transactional, String TransactionKey)&lt;div&gt;&amp;nbsp; &amp;nbsp;at MicroFour.StrataFrame.Business.BusinessLayer.Save()&lt;div&gt;&amp;nbsp; &amp;nbsp;at Vfs.Security.Common.ActiveUserController.Register(String SessionId, ISecurityUserEx CurrentUser)&lt;div&gt;&amp;nbsp; &amp;nbsp;at Vfs.Security.Common.Extensions.LoggedInUserEx.SetLoggedOnUser(SFSUsersBO UserInfo, String ClientIP)&lt;div&gt;&amp;nbsp; &amp;nbsp;at Vfs.Security.Common.SFSecurityBasics.SetLoggedOnUser(SFSUsersBO Users, String ClientIP)&lt;div&gt;&amp;nbsp; &amp;nbsp;at Vfs.Security.UI.Web.LoginController.AttempLogin(String userName, String password, String domainName) in D:\FlexHR\Branches\6.2.0\Security\UI\Web\Controllers\LoginController.cs:line 659&lt;div&gt;&amp;nbsp; &amp;nbsp;at Vfs.Security.UI.Web.Controls.LoginContainer.AuthenticateLogin() in D:\FlexHR\Branches\6.2.0\Security\UI\Web\Controls\LoginContainer.cs:line 243&lt;div&gt;&amp;nbsp; &amp;nbsp;at Vfs.Security.UI.Web.Controls.LoginContainer.LoginButton_Click(Object sender, EventArgs e) in D:\FlexHR\Branches\6.2.0\Security\UI\Web\Controls\LoginContainer.cs:line 236&lt;div&gt;&amp;nbsp; &amp;nbsp;at System.EventHandler.Invoke(Object sender, EventArgs e)&lt;div&gt;&amp;nbsp; &amp;nbsp;at DevExpress.Web.ASPxEditors.ASPxButton.OnClick(EventArgs e)&lt;div&gt;&amp;nbsp; &amp;nbsp;at DevExpress.Web.ASPxEditors.ASPxButton.RaisePostBackEvent(String eventArgument)&lt;div&gt;&amp;nbsp; &amp;nbsp;at DevExpress.Web.ASPxClasses.ASPxWebControl.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)&lt;div&gt;&amp;nbsp; &amp;nbsp;at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)&lt;div&gt;&amp;nbsp; &amp;nbsp;at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)&lt;div&gt;&amp;nbsp; &amp;nbsp;at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Any ideas? Please advice.</description><pubDate>Thu, 30 Jun 2011 10:17:07 GMT</pubDate><dc:creator>ChanKK</dc:creator></item><item><title>RE: Index was outside the bounds of the array - stress test</title><link>http://forum.strataframe.net/FindPost30113.aspx</link><description>Hi&lt;div&gt;I think I found the problem. I fixed it, and tested with stress test, working fine till this moment. Just to share if anyone face the same issue&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Root Cause: This class is initialized only once per data source. It is initialized and stored in static field. Therefore, it need to support thread-Safe. Under UpdateRow() method, objects _CachedInsertCommands, _CachedUpdateeCommands and _CachedDeleteCommands are designed to support thread-safe by using SyncLock statement. At EndUpdateCommandCaching() method, it will remove some elements from objects as mentioned. However, it is not written with thread-safe support.&lt;div&gt;Symptom: Only happen under stress test, frequent of reproduced not consistent.&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Suggested Solutions:&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Class : SqlDataSourceItem.cs&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp;Public Overrides Sub EndUpdateCommandCaching(ByVal UpdatingTable As System.Data.DataTable, ByVal Transactional As Boolean)&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Establish locals&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim loCommand As SqlCommand&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SyncLock Me._CachedDeleteCommands&lt;/strong&gt;&lt;/h4&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Clear out the dictionary entries&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If Me._CachedDeleteCommands.ContainsKey(UpdatingTable) Then&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Close the connection on the command&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand = Me._CachedDeleteCommands(UpdatingTable)&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Make sure that we were not on a transaction&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If (Not Transactional) AndAlso (loCommand.Connection IsNot Nothing) Then&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand.Connection.Close()&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand.Connection.Dispose()&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand.Dispose()&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Remove it from the dictionary&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me._CachedDeleteCommands.Remove(UpdatingTable)&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If&lt;h4&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End SyncLock&lt;/h4&gt;&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SyncLock Me._CachedInsertCommands&lt;/h4&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If Me._CachedInsertCommands.ContainsKey(UpdatingTable) Then&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Close the connection on the command&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand = Me._CachedInsertCommands(UpdatingTable)&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Make sure that we were not on a transaction&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If (Not Transactional) AndAlso (loCommand.Connection IsNot Nothing) Then&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand.Connection.Close()&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand.Connection.Dispose()&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand.Dispose()&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Remove it from the dictionary&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me._CachedInsertCommands.Remove(UpdatingTable)&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If&lt;h4&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End SyncLock&lt;/h4&gt;&lt;br/&gt;&lt;br/&gt;&lt;h4&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SyncLock Me._CachedUpdateCommands&lt;/h4&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If Me._CachedUpdateCommands.ContainsKey(UpdatingTable) Then&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Close the connection on the command&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand = Me._CachedUpdateCommands(UpdatingTable)&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Make sure that we were not on a transaction&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If (Not Transactional) AndAlso (loCommand.Connection IsNot Nothing) Then&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand.Connection.Close()&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand.Connection.Dispose()&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loCommand.Dispose()&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '-- Remove it from the dictionary&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me._CachedUpdateCommands.Remove(UpdatingTable)&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If&lt;h4&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End SyncLock&lt;/h4&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End Sub&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Hope this helps&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Thank you</description><pubDate>Thu, 30 Jun 2011 10:17:07 GMT</pubDate><dc:creator>ChanKK</dc:creator></item><item><title>RE: Index was outside the bounds of the array - stress test</title><link>http://forum.strataframe.net/FindPost30111.aspx</link><description>Hi&lt;div&gt;I tried to put debug code and found that the error happen at SqlDataSourceItem.UpdateRow() at line&lt;br/&gt;&lt;br/&gt;&lt;div&gt;&lt;div&gt;Me._CachedInsertCommands.Add(RowToUpdate.Table, loCommand)&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Please advice.</description><pubDate>Thu, 30 Jun 2011 05:17:23 GMT</pubDate><dc:creator>ChanKK</dc:creator></item></channel></rss>