当前位置: 代码迷 >> C# >> 当执行过程中出现异常后,再运行,就会出现 “文件“.”正由另一进程使用
  详细解决方案

当执行过程中出现异常后,再运行,就会出现 “文件“.”正由另一进程使用

热度:60   发布时间:2016-05-05 03:57:51.0
当执行过程中出现错误后,再运行,就会出现 “文件“.....”正由另一进程使用
下面这段代码,当执行过程中出现错误后,再运行,就会出现 “文件“.....”正由另一进程使用,因此该进程无法访问该文件。”
请帮我写出关键代码,分全给!谢谢!

Document document = new Document(iTextSharp.text.PageSize.A4, 25, 25, 25, 25);
        //生成的PDF文件名称
        PdfWriter.GetInstance(document, new FileStream(Server.MapPath("/userPDF/" + faTitle + "(" + userid + ").pdf"), FileMode.Create));
        document.Open();
        //姓名
        users model = bllname.GetModel(userid);
        string truename = "";
        if (model.username.Trim() != "")
        {
           truename = model.username.Trim();
        }

        document.Add(new Paragraph("姓名:" + truename, fontTitle));
        document.Add(new Paragraph(faTitle, fontTitle));

        document.Close();
        bc.MessageBox("文件生成成功!", "result.aspx");
        Response.Redirect("/userPDF/" + faTitle + "(" + userid + ").pdf");
------解决思路----------------------

Document document = new Document(iTextSharp.text.PageSize.A4, 25, 25, 25, 25);
        //生成的PDF文件名称
      using( FileStream fs=new FileStream(Server.MapPath("/userPDF/" + faTitle + "(" + userid + ").pdf"), FileMode.Create))
     {
        PdfWriter.GetInstance(document, fs);
        document.Open();
        //姓名
        users model = bllname.GetModel(userid);
        string truename = "";
        if (model.username.Trim() != "")
        {
           truename = model.username.Trim();
        }

        document.Add(new Paragraph("姓名:" + truename, fontTitle));
        document.Add(new Paragraph(faTitle, fontTitle));

        document.Close();
        bc.MessageBox("文件生成成功!", "result.aspx");
        fs.Close();
        }
        Response.Redirect("/userPDF/" + faTitle + "(" + userid + ").pdf");




FileStream 要记得关闭
  相关解决方案