동적으로 생성 된 .NET Chart 컨트롤에서 여러 PNG 이미지 파일을 생성하는 작은 C# ASP.NET 웹 응용 프로그램이 있습니다. 이들은 다음에 사용됩니다파일에 대한 잠금 ASP.NET에서 파일 덮어 쓰기 방지
- 이 만들기 Zip 파일
응용 프로그램은 거의 사용을 가져 와서 데이터는 자주 업데이트됩니다, 그래서 ' 각로드마다 모든 것을 다시 생성합니다. 문제는 파일이 종종 "사용 중"이고 덮어 쓸 때 예외가 발생한다는 것입니다. 이전 버전이 아닌 새로운 버전의 차트를 표시해야하기 때문에 예외를 가질 수 없습니다. 나는 먼저 삭제할 생각을했으나 여전히 문제가있다. 페이지가 매번 "제대로 작동"해야하기 때문에 매번 데이터를 새로 고친 후 수동으로 이미지 파일을 삭제해야했지만 어리석은 짓입니다. 나는 이런 일이 :
if(!System.IO.File.Exists(Server.MapPath(ImageFilename))) {
chart.SaveImage(Server.MapPath(imageFilename), ChartImageFormat.Png);
}
을 그리고 PDF를 들어, 내가 알고있는이 같은이 총입니다 :
try
{
Document doc = new Document();
System.IO.File.Delete(Server.MapPath("charts.pdf"));
PdfWriter.GetInstance(doc, new FileStream(Server.MapPath("charts.pdf"), FileMode.Create));
doc.Open();
///ADD DATA
doc.Close();
}
catch(Exception exc)
{}
가 어떻게 파일 문제를 해결하기 수 및 수동 대신 덮어 쓰기를 강제로 또는 삼키기 예외가있는 자동 삭제? 나는 항상 Explorer에서 잘 삭제할 수 있습니다. 또는 대안으로, 나는 이것을 잘못된 방법으로 생각하고 다른 압정을 시도해야합니까?
파일 액세스는 관리되지 않는 리소스를 다루는 작업 중 하나입니다. 작업을 마친 후 Dispose를 호출해야합니다. –
@Zhaph - 감사합니다. 나를 위해 해냈어. 비트 맵 객체를 'using'절 외부에 열었습니다. – kervin