错误:在asp.net C#中检测到DisconnectedContext

时间:2014-02-27 08:08:06

标签: c# asp.net

使用oledb上传excel表时遇到问题。几个星期前,它完美地工作,所以我搬到了不同的模块。

但是当我正在测试和调试应用程序时,它正在抛出一个错误。

有人请调查一下,因为我无法解决这个问题,而且,当我在谷歌搜索时,他们也没有发布决议....

  

错误:检测到DisconnectedContext

     

为此RuntimeCallableWrapper转换到COM上下文0x673dd0失败   以下错误:调用的对象已与其客户端断开连接。   (来自HRESULT的异常:0x80010108(RPC_E_DISCONNECTED))。这通常是   因为这个RuntimeCallableWrapper所在的COM上下文0x673dd0   已创建已断开连接或正在忙于执行其他操作。释放   来自当前COM上下文的接口(COM上下文0x673d18)。这个   可能会导致损坏或数据丢失。为避免此问题,请确保   所有COM上下文/公寓/线程都保持活跃并且可用   上下文转换,直到应用程序完全完成   RuntimeCallableWrappers,表示它们内部的COM组件。

我的代码: For FileUpload

string filefullpath = null;
            try
            {
                string filepath = Server.MapPath("~/BulkUploadFile/");
                string filename = fuDatabaseFile.FileName;
                string filetype = Path.GetExtension(filename);
                string filenamewithoutextension = Path.GetFileNameWithoutExtension(filepath);
                string append = DateTime.Now.ToString("yyyyMMddHHmmssfffFFF");
                string newfilename = filenamewithoutextension + append + filetype;



                filefullpath = filepath + newfilename;

                fuDatabaseFile.SaveAs(filefullpath);

            }
            catch (Exception ex)
            {
            }

ExcelConnectivity代码:

FileUpload();
                string excelconnectionstring = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + FileUpload() + ";Extended Properties=Excel 12.0;Persist Security Info=False";
                using (OleDbConnection excelcon = new OleDbConnection(excelconnectionstring))
                {
                    using (OleDbCommand command = new OleDbCommand("", excelcon))
                    {
                        command.CommandText = "Select * from [Sheet1$]";
                        excelcon.Open();
                        using (OleDbDataReader reader = command.ExecuteReader())
                        {
                            DataTable table = new DataTable();
                            table.Columns.Add("Name");
                            table.Columns.Add("EmpID");
                        }
                     }
                }

0 个答案:

没有答案