унаследовал веб-сайт, который использует subsonic 2.0 и получает прерывистую ошибку «Смещение и длина вышли за пределы массива». Если бы мы перезапустили приложение или переработали пул приложений, проблема исчезла бы. Я подозреваю, что это как-то связано с дозвуковым кэшированием схемы таблицы на основе журнала ошибок ниже. Кто-нибудь сталкивался с этой проблемой и может предложить решение?
System.ArgumentException
Смещение и длина вышли за пределы массива или счетчика больше, чем количество элементов от индекса до конца исходной коллекции.
System.Exception: было сгенерировано исключение типа System.Web.HttpUnhandledException. ---> System.ArgumentException: смещение и длина вышли за пределы массива, или их число превышает количество элементов от индекса до конца исходной коллекции.
в System.Array.BinarySearch [T] (массив T [], индекс Int32, длина Int32, значение T, IComparer 1 comparer)
at System.Collections.Generic.SortedList
2.IndexOfKey (клавиша TKey)
в System.Collections.Generic.SortedList`2.ContainsKey (ключ TKey)
в SubSonic.DataService.GetSchema (Строка tableName, Строка providerName, TableType tableType)
в SubSonic.DataService.GetTableSchema (Строка tableName, Строка providerName)
at SubSonic.Query..ctor (String tableName)
в G05.ProductController.GetProductByColorName (Int32 productId, String colorName) в C: \ Projects \ G05 \ Code \ BusinessLogic \ ProductController.vb: строка 514