C# 进程无法访问文件“D:\..\Excel.xls”,因为其他进程正在使用该文件。c网络应用程序

C# 进程无法访问文件“D:\..\Excel.xls”,因为其他进程正在使用该文件。c网络应用程序,c#,excel,process,excel-2010,iis-express,C#,Excel,Process,Excel 2010,Iis Express,在调试模式下工作正常,没有错误 当使用iis发布web应用时,会出现此错误 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源 异常详细信息:System.IO.IOException:进程无法访问文件“c:….\Excel.xls”,因为另一个进程正在使用该文件 我用了这个密码 if(FileUpload1.HasFile) { string excelfile=string.Concat(S

在调试模式下工作正常,没有错误

当使用iis发布web应用时,会出现此错误

描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息:System.IO.IOException:进程无法访问文件“c:….\Excel.xls”,因为另一个进程正在使用该文件

我用了这个密码

   if(FileUpload1.HasFile)
        {
            string excelfile=string.Concat(Server.MapPath("~/temp/"+FileUpload1.FileName));

            FileUpload1.PostedFile.SaveAs(excelfile);

            OleDbConnection oleDbcon=new OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;Data Source="+excelfile+";Extended Properties=Excel 12.0;");
            OleDbCommand cmd=new OleDbCommand("select * from [sheet1$]",oleDbcon);
            OleDbDataAdapter objAdaptor1=new OleDbDataAdapter(cmd);

            oleDbcon.Open();
            DbDataReader dr=cmd.ExecuteReader();
            string con_str=@"Data Source=.;Initial Catalog=database;Integrated Security=True";
            SqlBulkCopy bulkInsert =new SqlBulkCopy(con_str);
            bulkInsert.DestinationTableName="test";
            bulkInsert.WriteToServer(dr);
            oleDbcon.Close();
            Array.ForEach(Directory.GetFiles((Server.MapPath("~/temp/"))),File.Delete);
            Label1.ForeColor=Color.Green;
            Label1.Text="Successfully Inserted";
        }
        else
        {
            Label1.ForeColor =Color.Red;
            Label1.Text="please select the file";
        }

    }

两个请求试图同时使用同一个文件?我如何解决它?发布的代码的哪一行引发异常?这一行FileUpload1.PostedFile.SaveAsexcelfile出错;