该进程无法访问文件'C:\inetpub \wwwroot \wss \ VirtualDirectories \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ [英] The process cannot access the file 'C:\inetpub\wwwroot\wss\VirtualDirectories\80\Upload\KingSize_2013-04-29.pdf' because it is being used by another process.

查看:89
本文介绍了该进程无法访问文件'C:\inetpub \wwwroot \wss \ VirtualDirectories \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用iTextSharper但输出获得:该方法不能访问该文件 C:\inetpub\wwwroot\wss\VirtualDirectories\80\Upload\KingSize_2013-04-29.pdf '因为它被另一个进程使用。



  string  strFileName = 
CleanUp(LabelFirstName.Text + _ + LabelLastName.Text + _ + DateTime.Now.ToString( yyyy-MM-dd)+
+ DropDownListDownloadCv0。 SelectedItem.Text);

if (theEmpl!= null
{


// var objfileinfo = new FileInfo(strFileName);

var document = new iTextSharp.text.Document(PageSize.A4);


PdfWriter.GetInstance(文件,
FileStream(Server.MapPath( 〜/ Upload /)+ strFileName,
FileMode.Create));



var sb = new StringBuilder( );
var sw = new StringWriter(sb);

document.Open();
var hTextWriter = new HtmlTextWriter(sw);



hTextWriter.WriteBeginTag( table border = 1 cellpadding = 15\" );

hTextWriter.Write(HtmlTextWriter.TagRightChar);

hTextWriter.WriteBeginTag( tr);
hTextWriter.Write(HtmlTextWriter.TagRightChar);
hTextWriter.WriteBeginTag( td);
hTextWriter.Write(HtmlTextWriter.TagRightChar);

var styles = new iTextSharp.text.html.simpleparser.StyleSheet( );


styles.LoadStyle( Loggo float-right 20pt);


ImagePicture.ImageUrl = theEmpl.image;
ImagePicture.ImageAlign = ImageAlign.Left;
ImagePicture.RenderControl(hTextWriter);



var s = new Label
{
Text = < br />
};

s.RenderControl(hTextWriter);

hTextWriter.Write( < div class = \Loggo \> ;);
Loggo.ImageUrl = theEmpl.logo;
Loggo.RenderControl(hTextWriter);

hTextWriter.Write( < / div>);


var posfirstLast = new 标签
{
Text =
< br /> + < p align ='left'> + LabelPosition.Text + +
LabelFirstName.Text + + LabelLastName.Text + < / p> +
< br />
};
posfirstLast.RenderControl(hTextWriter);
var starkaabout3 = new 标签
{
Text = Label3StrongAbout。文字
};

starkaabout3.RenderControl(hTextWriter);



SetSkillAndLevelMax3();
for int i = 0 ; i < RepeaterStrongestSkillsMax2.Controls.Count; i ++)
{
var skill = RepeaterStrongestSkillsMax2.FindControl( skill + i);
var pie = RepeaterStrongestSkillsMax2.FindControl( 馅饼 + i);
如果(技能!= null & pie!= null
{
pie.RenderControl(hTextWriter);
skill.RenderControl(hTextWriter);
}

}

var lAbout = new 标签
{

Text = < br /> ;< br /> + LabelAbout.Text + < br />< br />< br />
};

lAbout.RenderControl(hTextWriter);




var back = new Label
{
Text =
< br /> < b> + lblbackground.Text + < br /> + lbldateofbirth.Text +
+ LabelDateOfBirth.Text + < br /> + lblphonenumber.Text + +
LabelPhoneNumber.Text + < br /> + lblemail.Text + +
LabelEmail.Text + < br />
};
back.RenderControl(hTextWriter);

var lang = new 标签
{
Text = < p align ='right'> + lbllanguages.Text + < / p>

};

lang.RenderControl(hTextWriter);


foreach var lLang in BulletedListLanguages.Items)
{
hTextWriter.WriteLine( < p align ='right'> + - + lLang + < / p>);
}

var lblPre = new 标签
{
Text = < p align ='left'> + lblprevwork.Text + < / p>

};

lblPre.RenderControl(hTextWriter);

foreach var lPre in BulletedListPrevWork.Items)
{
hTextWriter.WriteLine( < p align ='left'> + - + lPre + < / p>);

}

var lblEduca = new 标签
{
Text = < p align ='right'> + lbleducations.Text + < / p>

};

lblEduca.RenderControl(hTextWriter);

foreach var lEdu in BulletedListEducation.Items)
{
hTextWriter.WriteLine( < p align ='right'> + - + lEdu + < / p>);

}

var lblCours = new 标签
{
Text = < p align ='left'> + lblcourses.Text + < / p>
};

lblCours.RenderControl(hTextWriter);

foreach var lCour in BulletedListCourses.Items)
{
hTextWriter.WriteLine( < p align ='left'> + - + lCour + < / p>);

}


var lblBuss = new 标签
{
Text = < p align ='left'> + lblbusniess.Text + < / p>
};

lblBuss.RenderControl(hTextWriter);

foreach var lBuss in BulletedListBusiness.Items)
{
hTextWriter.WriteLine( < p align ='left'> + - + lBuss + < / p>);

}


var lblCert = new 标签
{

Text = < p align ='右'> + lblcert.Text + < / p> ;
};

lblCert.RenderControl(hTextWriter);

foreach var lCert in BulletedListCertifications.Items)
{
hTextWriter.WriteLine( < p align ='right'> + - + lCert + < / p>);

}

var tech = new 标签
{
Text = lbltechnicalskills.Text + < / br>
};

tech.RenderControl(hTextWriter);

var lblDataBas = new 标签
{

Text = < p align ='left'> + LabelDataBas.Text + < / p>
};

lblDataBas.RenderControl(hTextWriter);

foreach var lDataBas in BulletedListDataBase.Items)
{
hTextWriter.WriteLine( < p align ='left'> + - + lDataBas + < / p>);

}

var lblProgramming = new 标签
{

Text = < p align ='left'> + lblprogramming.Text + < / p>
};

lblProgramming.RenderControl(hTextWriter);

foreach var lProgramming in BulletedListProgramming.Items)
{
hTextWriter.WriteLine( < p align ='left'> + - + lProgramming + < / p>);

}

var lblMethods = new 标签
{

Text = < p align ='left'> + lblmethods.Text + < / p>
};

lblMethods.RenderControl(hTextWriter);

foreach var lMethods in BulletedListMethods.Items)
{
hTextWriter.WriteLine( < p align ='left'> + - + lMethods + < / p>);

}

var lblDevop = new 标签
{

Text = < p align ='left'> + lbldevop.Text + < / p>
};

lblDevop.RenderControl(hTextWriter);

foreach var lDevop BulletedDevelopmentTools.Items)
{
hTextWriter.WriteLine(<跨度类= 代码串> <跨度类= 代码串><,p align ='left'>
+ - + lDevop + < / p>);

}

var lblWeb = new 标签
{

Text = < p align ='left'> + lblwebserver.Text + < / p>
};

lblWeb.RenderControl(hTextWriter);

foreach var lWeb in BulletedListWebServer.Items)
{
hTextWriter.WriteLine( < p align ='left'> + - + lWeb + < / p>);

}

hTextWriter.WriteEndTag( td);
hTextWriter.WriteEndTag( tr);
hTextWriter.WriteEndTag( table);

var brrr = new 标签
{
Text = < br />
};
brrr.RenderControl(hTextWriter);

hTextWriter.WriteBeginTag( table border = 1 cellpadding = 15) ;
hTextWriter.Write(HtmlTextWriter.TagRightChar);

hTextWriter.WriteBeginTag( tr);
hTextWriter.Write(HtmlTextWriter.TagRightChar);
hTextWriter.WriteBeginTag( td);
hTextWriter.Write(HtmlTextWriter.TagRightChar);

if (RadioButtonListChooseLang.SelectedItem.Text == 瑞典语

{

GetAlSwedishlAssigments(theEmpl);

var lbl = new 标签
{
Text = < h1>< br /> + < span class =code-string>
Uppdrag + < u />< / h1>
};
lbl.RenderControl(hTextWriter);
for int i = 0 ; i < RepeaterAssigments.Controls.Count; i ++)
{
var comp = RepeaterAssigments.FindControl( comp + i);
var sect = RepeaterAssigments.FindControl( 教派 + i);
var area = RepeaterAssigments.FindControl( + i);
var 来自 = RepeaterAssigments.FindControl( 来自 + i);
var to = RepeaterAssigments.FindControl( + i);
var description = RepeaterAssigments.FindControl( des + i);
var 工具= RepeaterAssigments.FindControl( 工具 + i);
var tec = RepeaterAssigments.FindControl( tec + i);
var reference = RepeaterAssigments.FindControl( ref + i);
var namesectorLit = RepeaterAssigments.FindControl( NamesectorLit + i);
var nameAreaLit = RepeaterAssigments.FindControl( NameAreaLit + i);
var nameTechLit = RepeaterAssigments.FindControl( NameTechLit + i);
var nameToolLite = RepeaterAssigments.FindControl( NameToolLit + i);
var nameRefLit = RepeaterAssigments.FindControl( NameRefLit + i);
var spaceLit = RepeaterAssigments.FindControl( SpaceLit + i);
var bottomBorderLit = RepeaterAssigments.FindControl( BottomBorderLit + i);

var manadFran = RepeaterAssigments.FindControl( franmanad + i);
var manadTill = RepeaterAssigments.FindControl( tillmanad + i);
var nyttaKund = RepeaterAssigments.FindControl( kundnyttaSve + i);
var arbetsuppgifterSve = RepeaterAssigments.FindControl( arbetsuppgifterSve + i);
var rollSve = RepeaterAssigments.FindControl( rollSve + i);
var arbetsuppgifterLit = RepeaterAssigments.FindControl( arbetsuppgifter + i);
var rollLit = RepeaterAssigments.FindControl( roll + i);
var uppdragLit = RepeaterAssigments.FindControl( updragSve + i);
var kundnyttaLit = RepeaterAssigments.FindControl( NyttaKundSve + i);

if (comp!= null &&& 来自!= null
&& to!= null && description!= null && tool!= null & & tec!= null
&& nameTechLit!= null && nameToolLite!= null &&
spaceLit!= null && bottomBorderLit! = null &&
manadFran!= null && manadTill!= < span class =code-keyword> null && nyt taKund!= null
&& arbetsuppgifterSve!= null && rollSve!= null && arbetsuppgifterLit!= null &&
rollLit!= null && uppdragLit!= null && kundnyttaLit!= null
{

comp.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
rollLit.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
rollSve.RenderControl(hTextWriter);

来自 .RenderControl(hTextWriter);
manadFran.RenderControl(hTextWriter);
to.RenderControl(hTextWriter);
manadTill.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
kundnyttaLit.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
nyttaKund.RenderControl(hTextWriter);

arbetsuppgifterLit.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
arbetsuppgifterSve.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
uppdragLit.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
description.RenderControl(hTextWriter);
nameToolLite.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
tool.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
nameTechLit.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
tec.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);


spaceLit.RenderControl(hTextWriter);



var image = new Image
{
ImageUrl =
SPContext.Current.Web.Url + \"/\" +
SPContext.Current.File.Url +
\"~/_layouts/images/Cv.Knowit/img_line.png\"
};
image.RenderControl(hTextWriter);
bottomBorderLit.RenderControl(hTextWriter);

}
else if(sect != null)
{
sect.RenderControl(hTextWriter);
}
else if(namesectorLit!=null)
{
namesectorLit.RenderControl(hTextWriter);
}


if(area != null)
{
area.RenderControl(hTextWriter);

}

else if(nameAreaLit!=null)
{
nameAreaLit.RenderControl(hTextWriter);
}

else if(reference != null)
{
reference.RenderControl(hTextWriter);
}

if(nameRefLit!=null)
{
nameRefLit.RenderControl(hTextWriter);
}


}
}
else if (RadioButtonListChooseLang.SelectedItem.Text == \"English\")
{
GetAlEnglishAssigments(theEmpl);
var lbl = new Label
{
Text = \"<h1><br/>\" + \"Assigments\" + \"</h1>\"
};
lbl.RenderControl(hTextWriter);
for (int i = 0; i < RepeaterAssigments.Controls.Count; i++)
{
var comp = RepeaterAssigments.FindControl(\"comp\" + i);
var sect = RepeaterAssigments.FindControl(\"sect\" + i);
var area = RepeaterAssigments.FindControl(\"are\" + i);
var from = RepeaterAssigments.FindControl(\"fro\" + i);
var to = RepeaterAssigments.FindControl(\"too\" + i);
var description = RepeaterAssigments.FindControl(\"des\" + i);
var tool = RepeaterAssigments.FindControl(\"tool\" + i);
var tec = RepeaterAssigments.FindControl(\"tec\" + i);
var reference = RepeaterAssigments.FindControl(\"ref\" + i);
var namesectorLit = RepeaterAssigments.FindControl(\"NamesectorLit\" + i);
var nameAreaLit = RepeaterAssigments.FindControl(\"NameAreaLit\" + i);
var nameTechLit = RepeaterAssigments.FindControl(\"NameTechLit\" + i);
var nameToolLite = RepeaterAssigments.FindControl(\"NameToolLit\" + i);
var nameRefLit = RepeaterAssigments.FindControl(\"NameRefLit\" + i);
var spaceLit = RepeaterAssigments.FindControl(\"SpaceLit\" + i);
var bottomBorderLit = RepeaterAssigments.FindControl(\"BottomBorderLit\" + i);


if (comp != null && sect != null && area != null && from != null
&& to != null && description != null && tool != null && tec != null &&
reference != null
&& namesectorLit != null
&& nameAreaLit != null && nameTechLit != null && nameToolL ite != null &&
nameRefLit != null && spaceLit != null && bottomBorderLit != null)
{

comp.RenderControl(hTextWriter);



namesectorLit.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
sect.RenderControl(hTextWriter);

spaceLit.RenderControl(hTextWriter);

nameAreaLit.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
area.RenderControl(hTextWriter);



from.RenderControl(hTextWriter);
to.RenderControl(hTextWriter);
description.RenderControl(hTextWriter);
nameToolLite.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
tool.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
nameTechLit.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
tec.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);

nameRefLit.RenderControl(hTextWriter);
spaceLit.RenderControl(hTextWriter);
reference.RenderControl(hTextWriter);

spaceLit.RenderControl(hTextWriter);
var image = new Image
{
ImageUrl =
SPContext.Current.Web.Url + \"/\" +
SPContext.Current.File.Url +
\"~/_layouts/images/Cv.Knowit/img_line.png\"
};
image.RenderControl(hTextWriter);
bottomBorderLit.RenderControl(hTextWriter);
}



hTextWriter.WriteEndTag(\"td\");
hTextWriter.WriteEndTag(\"tr\");
hTextWriter.WriteEndTag(\"table\");

String strHtml1 = sw.ToString();

var hw = new iTextSharp.text.html.simpleparser.HTMLWorker(document);
hw.SetStyleSheet(styles);
hw.Parse(new StringReader(strHtml1));
document.Close();



}

}

Response.ContentType = \"Application/pdf\";
Response.AppendHeader(\"Content-Disposition\", \"attachment; filename=\" + strFileName);
Response.TransmitFile(Server.MapPath(\"~/Upload/\") + strFileName);
Response.End();


}
}
}

解决方案

This is easy to investigate.



First of all, the similar question was asked here many times, and from this experience I know: in most cases the blocking process is your own process.您可能忘记在同一个应用程序中处理/关闭某些内容。所以,首先,检查一下。要探索这种可能性,请参阅我过去的答案:

清除C#中的句柄 [ ^ ]。



在这个答案中,注意使用 / code>语句可以帮助您保证在使用后正确处理相应的文件系统对象,而不是保持文件锁定。



在同样的情况下,你真的需要调查哪个进程拥有哪个文件。为此,我建议使用 Sysinternals Suite 中的一个实用程序。这组实用程序(以前来自 Winternals 公司,目前在Microsoft)是必须的对于任何开发人员,请参阅:

http://technet.microsoft.com/en -us / sysinternals / bb842062 [ ^ ],

http://technet.microsoft.com/en-us/sysinternals / bb545027 [ ^ ]。



您需要的实用程序是 handle.exe ,请参阅:

http://technet.microsoft.com/en-us/sysinternals/bb896655 [ ^ ]。



在您的情况下,您使用文件名参数:

 handle.exe< file_name> 





此实用程序将扫描所有类型的句柄,而不仅仅是文件句柄。对于文件,它将扫描与文件名匹配的所有文件句柄(因此它不必是完整路径名)并返回足以识别每个进程的信息,包括其 pid 。 So, if you need more information on a process in question, you can also use other Sysinternals utilities, in particular, its Process Explorer:

http://technet.microsoft.com/en-us/sysinternals/bb896653[^].



Good luck,

—SA


thats because u are creating a filestream object but not closing it kindly use as below



FileStream file = new FileStream(stringPath);



and after closing your pdfDocument close your stream also



file.Close();



for ref you can use below link



Generating-PDF-using-ItextSharp-with-Footer-in-Csh

I am using iTextSharper but the output gets : The process cannot access the file ''C:\inetpub\wwwroot\wss\VirtualDirectories\80\Upload\KingSize_2013-04-29.pdf'' because it is being used by another process.

string strFileName =
                   CleanUp(LabelFirstName.Text + "_" + LabelLastName.Text + "_" + DateTime.Now.ToString("yyyy-MM-dd") +
                           "." + DropDownListDownloadCv0.SelectedItem.Text);

               if (theEmpl != null)
               {


                   //var objfileinfo = new FileInfo(strFileName);

                   var document = new iTextSharp.text.Document(PageSize.A4);


                   PdfWriter.GetInstance(document,
                                         new FileStream(Server.MapPath("~/Upload/") + strFileName,
                                                        FileMode.Create));



                   var sb = new StringBuilder();
                   var sw = new StringWriter(sb);

                   document.Open();
                   var hTextWriter = new HtmlTextWriter(sw);



                   hTextWriter.WriteBeginTag("table border=1 cellpadding=15");

                   hTextWriter.Write(HtmlTextWriter.TagRightChar);

                   hTextWriter.WriteBeginTag("tr");
                   hTextWriter.Write(HtmlTextWriter.TagRightChar);
                   hTextWriter.WriteBeginTag("td");
                   hTextWriter.Write(HtmlTextWriter.TagRightChar);

                   var styles = new iTextSharp.text.html.simpleparser.StyleSheet();


                   styles.LoadStyle("Loggo", "float-right", "20pt");


                   ImagePicture.ImageUrl = theEmpl.image;
                   ImagePicture.ImageAlign = ImageAlign.Left;
                   ImagePicture.RenderControl(hTextWriter);



                   var s = new Label
                               {
                                   Text = "<br/>"
                               };

                   s.RenderControl(hTextWriter);

                   hTextWriter.Write("<div class=\"Loggo\">");
                   Loggo.ImageUrl = theEmpl.logo;
                   Loggo.RenderControl(hTextWriter);

                   hTextWriter.Write("</div>");


                   var posfirstLast = new Label
                                          {
                                              Text =
                                                  "<br/>" + "<p align='left'>" + LabelPosition.Text + " " +
                                                  LabelFirstName.Text + " " + LabelLastName.Text + "</p>" +
                                                  "<br/>"
                                          };
                   posfirstLast.RenderControl(hTextWriter);
                   var starkaabout3 = new Label
                                          {
                                              Text = Label3StrongAbout.Text
                                          };

                   starkaabout3.RenderControl(hTextWriter);



                   SetSkillAndLevelMax3();
                   for (int i = 0; i < RepeaterStrongestSkillsMax2.Controls.Count; i++)
                   {
                       var skill = RepeaterStrongestSkillsMax2.FindControl("skill" + i);
                       var pie = RepeaterStrongestSkillsMax2.FindControl("pie" + i);
                       if (skill != null & pie != null)
                       {
                           pie.RenderControl(hTextWriter);
                           skill.RenderControl(hTextWriter);
                       }

                   }

                   var lAbout = new Label
                                    {

                                        Text = "<br/><br/>" + LabelAbout.Text + "<br/><br/><br/>"
                                    };

                   lAbout.RenderControl(hTextWriter);




                   var back = new Label
                                  {
                                      Text =
                                          "<br/>" + lblbackground.Text + "<br/>" + lbldateofbirth.Text +
                                          " " + LabelDateOfBirth.Text + "<br/>" + lblphonenumber.Text + " " +
                                          LabelPhoneNumber.Text + "<br/>" + lblemail.Text + " " +
                                          LabelEmail.Text + "<br/>"
                                  };
                   back.RenderControl(hTextWriter);

                   var lang = new Label
                                  {
                                      Text = "<p align='right'>" + lbllanguages.Text + "</p>"
                                  };

                   lang.RenderControl(hTextWriter);


                   foreach (var lLang in BulletedListLanguages.Items)
                   {
                       hTextWriter.WriteLine("<p align='right'>" + " - " + lLang + "</p>");
                   }

                   var lblPre = new Label
                                    {
                                        Text = "<p align='left'>" + lblprevwork.Text + "</p>"
                                    };

                   lblPre.RenderControl(hTextWriter);

                   foreach (var lPre in BulletedListPrevWork.Items)
                   {
                       hTextWriter.WriteLine("<p align='left'>" + " - " + lPre + "</p>");

                   }

                   var lblEduca = new Label
                                      {
                                          Text = "<p align='right'>" + lbleducations.Text + "</p>"
                                      };

                   lblEduca.RenderControl(hTextWriter);

                   foreach (var lEdu in BulletedListEducation.Items)
                   {
                       hTextWriter.WriteLine("<p align='right'>" + " - " + lEdu + "</p>");

                   }

                   var lblCours = new Label
                                      {
                                          Text = "<p align='left'>" + lblcourses.Text + "</p>"
                                      };

                   lblCours.RenderControl(hTextWriter);

                   foreach (var lCour in BulletedListCourses.Items)
                   {
                       hTextWriter.WriteLine("<p align='left'>" + " - " + lCour + "</p>");

                   }


                   var lblBuss = new Label
                                     {
                                         Text = "<p align='left'>" + lblbusniess.Text + "</p>"
                                     };

                   lblBuss.RenderControl(hTextWriter);

                   foreach (var lBuss in BulletedListBusiness.Items)
                   {
                       hTextWriter.WriteLine("<p align='left'>" + " - " + lBuss + "</p>");

                   }


                   var lblCert = new Label
                                     {

                                         Text = "<p align='right'>" + lblcert.Text + "</p>"
                                     };

                   lblCert.RenderControl(hTextWriter);

                   foreach (var lCert in BulletedListCertifications.Items)
                   {
                       hTextWriter.WriteLine("<p align='right'>" + " - " + lCert + "</p>");

                   }

                   var tech = new Label
                                  {
                                      Text = lbltechnicalskills.Text + "</br>"
                                  };

                   tech.RenderControl(hTextWriter);

                   var lblDataBas = new Label
                                        {

                                            Text = "<p align='left'>" + LabelDataBas.Text + "</p>"
                                        };

                   lblDataBas.RenderControl(hTextWriter);

                   foreach (var lDataBas in BulletedListDataBase.Items)
                   {
                       hTextWriter.WriteLine("<p align='left'>" + " - " + lDataBas + "</p>");

                   }

                   var lblProgramming = new Label
                                            {

                                                Text = "<p align='left'>" + lblprogramming.Text + "</p>"
                                            };

                   lblProgramming.RenderControl(hTextWriter);

                   foreach (var lProgramming in BulletedListProgramming.Items)
                   {
                       hTextWriter.WriteLine("<p align='left'>" + " - " + lProgramming + "</p>");

                   }

                   var lblMethods = new Label
                                        {

                                            Text = "<p align='left'>" + lblmethods.Text + "</p>"
                                        };

                   lblMethods.RenderControl(hTextWriter);

                   foreach (var lMethods in BulletedListMethods.Items)
                   {
                       hTextWriter.WriteLine("<p align='left'>" + " - " + lMethods + "</p>");

                   }

                   var lblDevop = new Label
                                      {

                                          Text = "<p align='left'>" + lbldevop.Text + "</p>"
                                      };

                   lblDevop.RenderControl(hTextWriter);

                   foreach (var lDevop in BulletedDevelopmentTools.Items)
                   {
                       hTextWriter.WriteLine("<p align='left'>" + " - " + lDevop + "</p>");

                   }

                   var lblWeb = new Label
                                    {

                                        Text = "<p align='left'>" + lblwebserver.Text + "</p>"
                                    };

                   lblWeb.RenderControl(hTextWriter);

                   foreach (var lWeb in BulletedListWebServer.Items)
                   {
                       hTextWriter.WriteLine("<p align='left'>" + " - " + lWeb + "</p>");

                   }

                   hTextWriter.WriteEndTag("td");
                   hTextWriter.WriteEndTag("tr");
                   hTextWriter.WriteEndTag("table");

                   var brrr = new Label
                                  {
                                      Text = "<br/>"
                                  };
                   brrr.RenderControl(hTextWriter);

                   hTextWriter.WriteBeginTag("table border=1 cellpadding=15");
                   hTextWriter.Write(HtmlTextWriter.TagRightChar);

                   hTextWriter.WriteBeginTag("tr");
                   hTextWriter.Write(HtmlTextWriter.TagRightChar);
                   hTextWriter.WriteBeginTag("td");
                   hTextWriter.Write(HtmlTextWriter.TagRightChar);

                   if (RadioButtonListChooseLang.SelectedItem.Text == "Swedish")

                   {

                       GetAlSwedishlAssigments(theEmpl);

                       var lbl = new Label
                                     {
                                         Text = "<h1><br/>" + "Uppdrag" + "<u/></h1>"
                                     };
                       lbl.RenderControl(hTextWriter);
                       for (int i = 0; i < RepeaterAssigments.Controls.Count; i++)
                       {
                           var comp = RepeaterAssigments.FindControl("comp" + i);
                           var sect = RepeaterAssigments.FindControl("sect" + i);
                           var area = RepeaterAssigments.FindControl("are" + i);
                           var from = RepeaterAssigments.FindControl("fro" + i);
                           var to = RepeaterAssigments.FindControl("too" + i);
                           var description = RepeaterAssigments.FindControl("des" + i);
                           var tool = RepeaterAssigments.FindControl("tool" + i);
                           var tec = RepeaterAssigments.FindControl("tec" + i);
                           var reference = RepeaterAssigments.FindControl("ref" + i);
                           var namesectorLit = RepeaterAssigments.FindControl("NamesectorLit" + i);
                           var nameAreaLit = RepeaterAssigments.FindControl("NameAreaLit" + i);
                           var nameTechLit = RepeaterAssigments.FindControl("NameTechLit" + i);
                           var nameToolLite = RepeaterAssigments.FindControl("NameToolLit" + i);
                           var nameRefLit = RepeaterAssigments.FindControl("NameRefLit" + i);
                           var spaceLit = RepeaterAssigments.FindControl("SpaceLit" + i);
                           var bottomBorderLit = RepeaterAssigments.FindControl("BottomBorderLit" + i);

                           var manadFran = RepeaterAssigments.FindControl("franmanad" + i);
                           var manadTill = RepeaterAssigments.FindControl("tillmanad" + i);
                           var nyttaKund = RepeaterAssigments.FindControl("kundnyttaSve" + i);
                           var arbetsuppgifterSve = RepeaterAssigments.FindControl("arbetsuppgifterSve" + i);
                           var rollSve = RepeaterAssigments.FindControl("rollSve" + i);
                           var arbetsuppgifterLit = RepeaterAssigments.FindControl("arbetsuppgifter" + i);
                           var rollLit = RepeaterAssigments.FindControl("roll" + i);
                           var uppdragLit = RepeaterAssigments.FindControl("updragSve" + i);
                           var kundnyttaLit = RepeaterAssigments.FindControl("NyttaKundSve" + i);

                           if (comp != null && from != null
                               && to != null && description != null && tool != null && tec != null
                               && nameTechLit != null && nameToolLite != null &&
                               spaceLit != null && bottomBorderLit != null &&
                               manadFran != null && manadTill != null && nyttaKund != null
                               && arbetsuppgifterSve != null && rollSve != null && arbetsuppgifterLit != null &&
                               rollLit != null && uppdragLit != null && kundnyttaLit != null)
                           {

                               comp.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               rollLit.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               rollSve.RenderControl(hTextWriter);

                               from.RenderControl(hTextWriter);
                               manadFran.RenderControl(hTextWriter);
                               to.RenderControl(hTextWriter);
                               manadTill.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               kundnyttaLit.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               nyttaKund.RenderControl(hTextWriter);

                               arbetsuppgifterLit.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               arbetsuppgifterSve.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               uppdragLit.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               description.RenderControl(hTextWriter);
                               nameToolLite.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               tool.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               nameTechLit.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               tec.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);


                               spaceLit.RenderControl(hTextWriter);



                               var image = new Image
                                               {
                                                   ImageUrl =
                                                       SPContext.Current.Web.Url + "/" +
                                                       SPContext.Current.File.Url +
                                                       "~/_layouts/images/Cv.Knowit/img_line.png"
                                               };
                               image.RenderControl(hTextWriter);
                               bottomBorderLit.RenderControl(hTextWriter);

                           }
                           else if(sect != null)
                           {
                               sect.RenderControl(hTextWriter);
                           }
                           else if(namesectorLit!=null)
                           {
                               namesectorLit.RenderControl(hTextWriter);
                           }


                           if(area != null)
                           {
                               area.RenderControl(hTextWriter);

                           }

                           else if(nameAreaLit!=null)
                           {
                               nameAreaLit.RenderControl(hTextWriter);
                           }

                           else if(reference != null)
                           {
                               reference.RenderControl(hTextWriter);
                           }

                           if(nameRefLit!=null)
                           {
                               nameRefLit.RenderControl(hTextWriter);
                           }


                       }
                   }
                   else if (RadioButtonListChooseLang.SelectedItem.Text == "English")
                   {
                       GetAlEnglishAssigments(theEmpl);
                       var lbl = new Label
                       {
                           Text = "<h1><br/>" + "Assigments" + "</h1>"
                       };
                       lbl.RenderControl(hTextWriter);
                       for (int i = 0; i < RepeaterAssigments.Controls.Count; i++)
                       {
                           var comp = RepeaterAssigments.FindControl("comp" + i);
                           var sect = RepeaterAssigments.FindControl("sect" + i);
                           var area = RepeaterAssigments.FindControl("are" + i);
                           var from = RepeaterAssigments.FindControl("fro" + i);
                           var to = RepeaterAssigments.FindControl("too" + i);
                           var description = RepeaterAssigments.FindControl("des" + i);
                           var tool = RepeaterAssigments.FindControl("tool" + i);
                           var tec = RepeaterAssigments.FindControl("tec" + i);
                           var reference = RepeaterAssigments.FindControl("ref" + i);
                           var namesectorLit = RepeaterAssigments.FindControl("NamesectorLit" + i);
                           var nameAreaLit = RepeaterAssigments.FindControl("NameAreaLit" + i);
                           var nameTechLit = RepeaterAssigments.FindControl("NameTechLit" + i);
                           var nameToolLite = RepeaterAssigments.FindControl("NameToolLit" + i);
                           var nameRefLit = RepeaterAssigments.FindControl("NameRefLit" + i);
                           var spaceLit = RepeaterAssigments.FindControl("SpaceLit" + i);
                           var bottomBorderLit = RepeaterAssigments.FindControl("BottomBorderLit" + i);


                           if (comp != null && sect != null && area != null && from != null
                               && to != null && description != null && tool != null && tec != null &&
                               reference != null
                               && namesectorLit != null
                               && nameAreaLit != null && nameTechLit != null && nameToolLite != null &&
                               nameRefLit != null && spaceLit != null && bottomBorderLit != null)
                           {

                               comp.RenderControl(hTextWriter);



                               namesectorLit.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               sect.RenderControl(hTextWriter);

                               spaceLit.RenderControl(hTextWriter);

                               nameAreaLit.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               area.RenderControl(hTextWriter);



                               from.RenderControl(hTextWriter);
                               to.RenderControl(hTextWriter);
                               description.RenderControl(hTextWriter);
                               nameToolLite.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               tool.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               nameTechLit.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               tec.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);

                               nameRefLit.RenderControl(hTextWriter);
                               spaceLit.RenderControl(hTextWriter);
                               reference.RenderControl(hTextWriter);

                               spaceLit.RenderControl(hTextWriter);
                               var image = new Image
                               {
                                   ImageUrl =
                                       SPContext.Current.Web.Url + "/" +
                                       SPContext.Current.File.Url +
                                       "~/_layouts/images/Cv.Knowit/img_line.png"
                               };
                               image.RenderControl(hTextWriter);
                               bottomBorderLit.RenderControl(hTextWriter);
                           }



                           hTextWriter.WriteEndTag("td");
                           hTextWriter.WriteEndTag("tr");
                           hTextWriter.WriteEndTag("table");

                           String strHtml1 = sw.ToString();

                           var hw = new iTextSharp.text.html.simpleparser.HTMLWorker(document);
                           hw.SetStyleSheet(styles);
                           hw.Parse(new StringReader(strHtml1));
                           document.Close();



                       }

                   }

                   Response.ContentType = "Application/pdf";
                   Response.AppendHeader("Content-Disposition", "attachment; filename=" + strFileName);
                   Response.TransmitFile(Server.MapPath("~/Upload/") + strFileName);
                   Response.End();


               }
           }
       }

解决方案

This is easy to investigate.

First of all, the similar question was asked here many times, and from this experience I know: in most cases the blocking process is your own process. You could have forgotten to dispose/close something in the same application. So, first of all, check it up. To explore this possibility, please see my past answer:
Clearing a Handle in C#[^].

In this answer, pay attention for the using of the using statement which helps you to guarantee that appropriate file system object is properly disposed after use, not keeping the file locked.

In same cases, you really need to investigate which process holds which file. For this, I recommend using one utility from the Sysinternals Suite. This set of utilities (formerly from Winternals company, presently at Microsoft) is a must-have for any developer, please see:
http://technet.microsoft.com/en-us/sysinternals/bb842062[^],
http://technet.microsoft.com/en-us/sysinternals/bb545027[^].

The utility you need is "handle.exe", please see:
http://technet.microsoft.com/en-us/sysinternals/bb896655[^].

In your case, you use it with file name parameter:

handle.exe <file_name>



This utility will scan all kinds of handles, not just file handles. For file, it will scan all file handles matching the file name (so it does not have to be a full path name) and return information sufficient to identify each process, including its pid. So, if you need more information on a process in question, you can also use other Sysinternals utilities, in particular, its Process Explorer:
http://technet.microsoft.com/en-us/sysinternals/bb896653[^].

Good luck,

—SA


thats because u are creating a filestream object but not closing it kindly use as below

FileStream file = new FileStream(stringPath);

and after closing your pdfDocument close your stream also

file.Close();

for ref you can use below link

Generating-PDF-using-ItextSharp-with-Footer-in-Csh


这篇关于该进程无法访问文件'C:\inetpub \wwwroot \wss \ VirtualDirectories \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆