SharedDataTableCollection - Collection was modified


Author
Message
ChanKK
ChanKK
StrataFrame User (248 reputation)StrataFrame User (248 reputation)StrataFrame User (248 reputation)StrataFrame User (248 reputation)StrataFrame User (248 reputation)StrataFrame User (248 reputation)StrataFrame User (248 reputation)StrataFrame User (248 reputation)StrataFrame User (248 reputation)
Group: Forum Members
Posts: 190, Visits: 1.3K
Hi
My application hit errors as below when it is in heavy usage. I checked SF source code, found that 
RemoveReferencesToBusinessObject() and 
AddBusinessObjectTable() do not support thread-safe (correct me if I am wrong). Shall you please advice. it is urgent!!

Thank you

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 6/7/2011 10:54:36 AM 
Event time (UTC): 6/7/2011 2:54:36 AM 
Event ID: 044450cc03b54d168fbb49dfa3103650 
Event sequence: 6955 
Event occurrence: 2 
Event detail code: 0 
 
Application information: 
    Application domain: /LM/w3svc/1/Root/FlexEA-1-129518874042964137 
    Trust level: Full 
    Application Virtual Path: /FlexEA 
    Application Path: D:\xxx_EA\FlexHR\ 
    Machine name: xxx
 
Process information: 
    Process ID: 5816 
    Process name: w3wp.exe 
    Account name: NT AUTHORITY\NETWORK SERVICE 
 
Exception information: 
    Exception type: InvalidOperationException 
    Exception message: Collection was modified; enumeration operation may not execute. 
 
Request information: 
    Request URL: https://xxx.com:443/FlexEA/PayStatement/Forms/PaySlipReport.aspx 
    Request path: /FlexEA/PayStatement/Forms/PaySlipReport.aspx 
    User host address: xxx
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: NT AUTHORITY\NETWORK SERVICE 
 
Thread information: 
    Thread ID: 19 
    Thread account name: NT AUTHORITY\NETWORK SERVICE 
    Is impersonating: False 
    Stack trace:    at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext()
   at MicroFour.StrataFrame.Business.BusinessLayer.SharedDataTableCollection.RemoveReferencesToBusinessObject(BusinessLayer bo)
   at MicroFour.StrataFrame.Business.BusinessBindingSource.ClearBusinessObjectList()
   at MicroFour.StrataFrame.Business.BusinessBindingSource.Dispose(Boolean disposing)
   at System.ComponentModel.Component.Dispose()
   at Vfs.PayStatement.UI.Web.Forms.PaySlipReport.Report_AfterPrint(Object sender, EventArgs e)
   at DevExpress.XtraReports.UI.XRControl.OnAfterPrint(EventArgs e)
   at DevExpress.XtraReports.UI.XtraReport.OnAfterPrint(EventArgs e)
   at Vfs.PayStatement.UI.Web.Reports.PaySlipWDReportDesign.OnAfterPrint(EventArgs e)
   at DevExpress.XtraReports.UI.XtraReport.AfterBuildPagesProc()
   at DevExpress.XtraPrinting.Native.Printingdocument.AfterBuild()
   at DevExpress.XtraPrinting.Native.PSdocument.AfterBuild()
   at DevExpress.XtraPrinting.Native.Printingdocument.DocumentHelper.BuildPages()
   at DevExpress.XtraPrinting.Native.Printingdocument.BuildPages()
   at DevExpress.XtraPrinting.Native.Printingdocument.End(Boolean buildPagesInBackground)
   at DevExpress.XtraPrinting.PrintingSystemBase.End(Boolean buildPagesInBackground)
   at DevExpress.XtraReports.UI.XtraReport.CreateDocumentCore2(PrintingSystemBase ps, Single progressRange, Boolean buildPagesInBackground)
   at DevExpress.XtraReports.UI.XtraReport.CreateDocumentCore(Single progressRange, Boolean buildPagesInBackground)
   at DevExpress.XtraReports.UI.XtraReport.CreateDocument(Single progressRange, Boolean buildPagesInBackground)
   at DevExpress.XtraReports.UI.XtraReport.CreateDocument()
   at DevExpress.XtraReports.Web.ReportViewer.ForcePSDocument()
   at DevExpress.XtraReports.Web.ReportViewer.OnPreRender(EventArgs e)
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
 
 
Custom event details: 

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

[quote][/quote]Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 6/7/2011 10:15:28 AM 
Event time (UTC): 6/7/2011 2:15:28 AM 
Event ID: 3db852e418f44f188a80e9347469243a 
Event sequence: 5370 
Event occurrence: 25 
Event detail code: 0 
 
Application information: 
    Application domain: /LM/w3svc/1/Root/FlexEA-1-129518858229784092 
    Trust level: Full 
    Application Virtual Path: /FlexEA 
    Application Path: D:\xxx_EA\FlexHR\ 
    Machine name: xxx
 
Process information: 
    Process ID: 1404 
    Process name: w3wp.exe 
    Account name: NT AUTHORITY\NETWORK SERVICE 
 
Exception information: 
    Exception type: IndexOutOfRangeException 
    Exception message: Index was outside the bounds of the array. 
 
Request information: 
    Request URL: https://xxx.com:443/FlexEA/PayStatement/Forms/PayEAReport.aspx 
    Request path: /FlexEA/PayStatement/Forms/PayEAReport.aspx 
    User host address: xxx 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: NT AUTHORITY\NETWORK SERVICE 
 
Thread information: 
    Thread ID: 33 
    Thread account name: NT AUTHORITY\NETWORK SERVICE 
    Is impersonating: False 
    Stack trace:    at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at MicroFour.StrataFrame.Business.BusinessLayer.SharedDataTableCollection.AddBusinessObjectTable(BusinessLayer BusinessObject)
   at MicroFour.StrataFrame.Business.BusinessLayer.ShareCurrentDataTable(BusinessLayer BusinessObject)
   at MicroFour.StrataFrame.Business.BusinessBindingSource.CreateShareAndAddBusinessObject(Int32 index)
   at MicroFour.StrataFrame.Business.BusinessBindingSource.get_Item(Int32 index)
   at DevExpress.Data.Helpers.BaseListDataControllerHelper.GetRow(Int32 listSourceRow)
   at DevExpress.Data.DataController.GetRow(Int32 controllerRow)
   at DevExpress.Data.BaseListSourceDataController.GetRow(Int32 controllerRow)
   at DevExpress.XtraReports.Native.Data.SortedListController.GetItem(Int32 index)
   at DevExpress.Data.Browsing.ListBrowser.get_Current()
   at DevExpress.XtraReports.UI.XRBinding.GetImmediateColumnValue(XRDataContext dataContext, ImagesContainer images)
   at DevExpress.XtraReports.UI.XRBinding.GetColumnValue(XRDataContext dataContext, ImagesContainer images)
   at DevExpress.XtraReports.UI.XRBinding.UpdatePropertyValue(XRDataContext dataContext, ImagesContainer images)
   at DevExpress.XtraReports.UI.XRControl.UpdateBindingCore(XRDataContext dataContext, ImagesContainer images)
   at DevExpress.XtraReports.UI.XRFieldEmbeddableControl.UpdateBindingCore(XRDataContext dataContext, ImagesContainer images)
   at DevExpress.XtraReports.UI.XRControl.UpdateBinding(XRDataContext dataContext, ImagesContainer images)
   at DevExpress.XtraReports.UI.Band.GenerateContent(DocumentBand docBand, Int32 rowIndex, Boolean fireBeforePrint)
   at DevExpress.XtraReports.UI.Band.GenerateWithSubreports(DocumentBand docBand, Int32 rowIndex, Boolean fireBeforePrint, PageBuildInfo pageBuildInfo)
   at DevExpress.XtraReports.Native.SelfGeneratedDocumentBand..ctor(RootDocumentBand root, DocumentBandKind kind, Band band, Int32 rowIndex, Boolean fireBeforePrint, PageBuildInfo pageBuildInfo)
   at DevExpress.XtraReports.UI.Band.CreateDocumentBand(Int32 rowIndex, RootDocumentBand rootDocBand, PageBuildInfo pageBuildInfo)
   at DevExpress.XtraReports.UI.DetailBand.CreateDocumentBand(Int32 rowIndex, Int32 rowCount, RootDocumentBand rootDocBand, PageBuildInfo pageBuildInfo)
   at DevExpress.XtraReports.Native.Printing.DetailWriterBase.WriteDetailCore(PageBuildInfo pageBuildInfo)
   at DevExpress.XtraReports.Native.Printing.DetailWriterBase.Write(DocumentBand rootBand, PageBuildInfo pageBuildInfo)
   at DevExpress.XtraReports.Native.Printing.DocumentBuilder.GetBand(DocumentBand rootBand, PageBuildInfo pageBuildInfo)
   at DevExpress.XtraPrinting.Native.DocumentBand.GetBand(Int32 index, RectangleF bounds, PointF offset, Boolean forNextPage)
   at DevExpress.XtraPrinting.Native.DocumentBand.GetBand(Int32 index)
   at DevExpress.XtraPrinting.Native.BuildInfoContainer.GetDetailContainer(DocumentBand rootBand, PageRowBuilderBase pageRowBuilderBase, RectangleF bounds)
   at DevExpress.XtraPrinting.Native.PageHeaderFooterRowBuilder.GetHeaderRowIndex(DocumentBand rootBand)
   at DevExpress.XtraPrinting.Native.PageHeaderFooterRowBuilderBase.FillPageHeader(DocumentBand rootBand, RectangleF bounds)
   at DevExpress.XtraPrinting.Native.PageHeaderFooterRowBuilderBase.FillReportDetailsAndFooter(DocumentBand rootBand, RectangleF bounds)
   at DevExpress.XtraPrinting.Native.PageRowBuilderBase.FillPage(DocumentBand rootBand, RectangleF bounds)
   at DevExpress.XtraPrinting.Native.PageBuildEngine.Build(Boolean shoulAddPages)
   at DevExpress.XtraPrinting.Native.PageBuildEngine.BuildPages(DocumentBand rootBand, ReadonlyPageData pageData, RectangleF usefulPageRect, Boolean shoulAddPages, PrintingDocument document)
   at DevExpress.XtraPrinting.Native.PageBuildEngine.BuildPages(DocumentBand rootBand, PrintingDocument document, PrintingSystemBase ps)
   at DevExpress.XtraPrinting.Native.Printingdocument.BuildPagesCore()
   at DevExpress.XtraPrinting.Native.Printingdocument.DocumentHelper.BuildPages()
   at DevExpress.XtraPrinting.Native.Printingdocument.BuildPages()
   at DevExpress.XtraPrinting.Native.Printingdocument.End(Boolean buildPagesInBackground)
   at DevExpress.XtraPrinting.PrintingSystemBase.End(Boolean buildPagesInBackground)
   at DevExpress.XtraReports.UI.XtraReport.CreateDocumentCore2(PrintingSystemBase ps, Single progressRange, Boolean buildPagesInBackground)
   at DevExpress.XtraReports.UI.XtraReport.CreateDocumentCore(Single progressRange, Boolean buildPagesInBackground)
   at DevExpress.XtraReports.UI.XtraReport.CreateDocument(Single progressRange, Boolean buildPagesInBackground)
   at DevExpress.XtraReports.UI.XtraReport.CreateDocument()
   at DevExpress.XtraReports.Web.ReportViewer.ForcePSDocument()
   at DevExpress.XtraReports.Web.ReportViewer.OnPreRender(EventArgs e)
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Control.PreRenderRecursiveInternal()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
 
 
Custom event details: 

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Edited 13 Years Ago by ChanKK
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search