にasp.net MVCでファイルを解放することはできませんここで私が作った機能があります:はIIS
if (Valide())
{
try
{
File.Delete(Server.MapPath("F16client.pdf"));
}
catch
{
}
using (FileStream ms = new FileStream(Server.MapPath("F16client.pdf"), FileMode.Create, FileAccess.Write, FileShare.None))
{
PdfReader lecteur = new PdfReader(Server.MapPath("~/Formulaires/f16.pdf"));
PdfStamper etampeur = new PdfStamper(lecteur, ms);
// DO STUFF, Whatever
etampeur.FormFlattening = true;
etampeur.Close();
lecteur.Close();
System.Net.Mail.Attachment at = new Attachment(Server.MapPath("F16client.pdf"));
}
}
ローカルテストするとき、それは動作しますが、IIS上で、このW3Wプロセスは私のf16clientを手放すことはありません。 pdfと私はいつも一緒になります:
このプロセスは、別のプロセスで使用されているため、ファイル 'D:\ inetpub \ wwwroot \ Formulaire16 \ F16client.pdf'にアクセスできません。
なぜIIS上でこのファイルを使用しているのですか?ローカル??????
ファイルを他の場所で開いていますか? – Jecoms
この行をusingステートメントから移動するとどうなりますか? System.Net.Mail.Attachment at =新しい添付ファイル(Server.MapPath( "F16client.pdf")); – Sparrow
代わりにTempファイルを作成することをお勧めします - あなたが持っているコードにはいくつか問題があります。 –