У меня есть клиентское приложение C#, вызывающее Windows webservice, написанное в вызове WCF. Процедура Sql и этот proc дают выход около 1,3 миллиона записей, тогда клиентское приложение C# хранит их в памяти и делает все проверки один за другим. . Я получаю ошибку :System.OutOfMemoryException
System.Exception: An exception has occurred when recalculating the balances, the transaction will be rolled back.
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.Collections.Generic.List`1.set_Capacity(Int32 value)
at System.Collections.Generic.List`1.EnsureCapacity(Int32 min)
at PitToPort.DataLayer.StockpileData.StockpileProfile.CreateStockpileProfileQualityFromAllPartialMovements()
at PitToPort.DataLayer.StockpileRecalc.Recalc.CreateSP_FOFO_FOLO_NegTransaction(Int32 modelID, StockpileProfile currentStockpileProfile, TransactionsRow drTransactions)
at PitToPort.DataLayer.StockpileRecalc.Recalc.CreateBalanceFOLO_FOFO_TWAA(TransactionsRow[] drTransactionsRows, Int32 modelID, StockpileProfileList stockpileProfileList)
at PitToPort.DataLayer.StockpileRecalc.Recalc.CreateBalances()
at QMastor.PitToPort.StockpileRecalculationBL.RecalcService.CreateBalances()
, что может быть причиной этой ошибки и как ее исправить? Я проверил в proc, он работает нормально
Да, процесс дает результат, содержащий около 1,3 миллиона записей – rmdussa
Вам нужно будет опубликовать эти записи! 1,3 миллиона - это LOT - и, как говорит среда исполнения .Net, у него закончилась нехватка памяти. –