为什么应用程序池在asp.net上读取大型excel文件时进行回收

问题描述 投票:0回答:1

我有一个asp.net Web应用程序。我在上面阅读和处理excel文件。

下面的代码显示我如何读取excel文件。

            string strComand;
            if (strSheetName.IndexOf("|", StringComparison.Ordinal) > 0)
            {
                _sheetName = strSheetName.Substring(0, strSheetName.IndexOf("|", StringComparison.Ordinal));
                _range = strSheetName.Substring(strSheetName.IndexOf("|", StringComparison.Ordinal) + 1);
                strComand = "select * from [" + _sheetName + "$" + _range + "]";
            }
            else
            {
                strComand = "select * from [" + strSheetName + "]";
            }

            _daAdapter = new OleDbDataAdapter(strComand, _cn); 
            DataTable dt = new DataTable(strSheetName); 
            _daAdapter.FillSchema(dt, SchemaType.Source); 
            GC.Collect();
            GC.WaitForPendingFinalizers();

            _daAdapter.Fill(dt);  // there is a problem on this line
            _cn.Close(); 
            retInfo.Data = dt;  

            return retInfo;

如果我阅读小尺寸擅长,那么没有问题。但是当我试图读取大型excel文件时,我的应用程序池正在回收。

我该怎么办。

asp.net iis application-pool
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.