Использование Chart в asp.net сталкивается с этой ошибкой "Процесс не может получить доступ к файлу ...." - PullRequest
0 голосов
/ 19 марта 2012

Я делаю сайт используя элемент управления диаграммы в asp.net.Когда пользователи нагрузки становятся все больше и больше, в журнале возникает ошибка.Подробная информация об ошибке выглядит следующим образом.

Сведения об исключении: было сгенерировано исключение типа «System.Web.HttpException».в System.Web.UI.Page.AsyncPageEndProcessRequest (результат IAsyncResult) в ASP.city_aspx.EndProcessRequest (IAsyncResult ar) в c: \ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary

ASP.NETФайлы \ root \ f4f3c9d4 \ d7501188 \ App_Web_3mnuhygo.2.cs: строка 0 в System.Web.HttpApplication.CallHandlerExecutionStep.OnAsyncHandlerCompletion (IAsyncResult ar) Исключение типа System.Web.HttpUnhand8выброшены.--->

System.IO.IOException: процессу не удается получить доступ к файлу 'D: \ MeeToo \ Deploy \ Website \ tempimg \ 60101037.png', поскольку он

используетсядругой процесс.в System.IO .__ Ошибка, Опции FileOptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) в System.IO.FileStream..ctor (Строковый путь, режим FileMode, доступ к FileAccess, общий ресурс FileShare, буфер IntS32, параметры FileOptions,

Строка msgPath, Boolean bFromProxy) в System.IO.FileStream..ctor (путь строки, режим FileMode) в System.Web.UI.DataVisualization.Charting.Chart.SaveImage (String imageFileName) в System.Web.UI.DataVisualization.Charting.Chart.Render (писатель HtmlTextWriter) в System.Web.UI.Control.RenderChildrenInternal (писатель HtmlTextWriter, дети ICollection) в System.Web.UI.HtmlControls.HtmlContainerControl.Render (HtmlTextWriter writer. HtmlTextWonter.RenderChildrenInternal (писатель HtmlTextWriter, потомок ICollectionren) в System.Web.UI.HtmlControls.HtmlContainerControl.Render (модуль записи HtmlTextWriter) в ASP.control_locationinfo_ascx ._ Визуализация _control1 (HtmlTextWriter __w, элемент управления ControlContainer * 101 * * * * * * * * *) * в \\1018 * \ Website \ control \ LocationInfo.ascx: строка 14 в System.Web.UI.Control.RenderChildrenInternal (модуль записи HtmlTextWriter, дочерние элементы ICollection) в файле System.Web.UI.Control.RenderChildrenInternal (модуль записи HtmlTextWriter, дочерние элементы ICollection) в системе.Web.UI.HtmlControls.HtmlContainerControl.Render (писатель HtmlTextWriter) в System.Web.UI.Control.RenderChildrenInternal (писатель HtmlTextWriter, дети ICollection) в System.Web.UI.Page.Render (HtmlTebWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerTerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerWerTerWerWerWerTerWerWerWerWerWerWer)..Page..ProcessRequest (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) в System.Web.UI.Page.PageAsyncInfo.CallHandlersPossblyUnderLock (Boolean onPageThread)

Ответы [ 2 ]

0 голосов
/ 19 марта 2012

Кажется, что это случилось и с несколькими другими людьми.Они исправили это, добавив код, который присваивает файлам уникальные имена и очищает старые, поскольку новые файлы, конечно, никогда не блокируются.

<asp:Chart ImageType="Png" runat="server" ID="chartStatComp" Palette="BrightPastel"
ImageLocation="~/CRM/Reports/chartStatComp_#SEQ(100,10)" ImageStorageMode="UseImageLocation"
Width="620" Height="300">

Процесс не может получить доступ к ошибке файла с System.Web.UI.DataVisualization.Charting

0 голосов
/ 19 марта 2012
System.IO.IOException: The process cannot access the file   
'D:\MeeToo\Deploy\Website\tempimg\60101037.png' 
because it is being used by another process.

вышеприведенное сообщение сообщит вам о причине. it is being used by another process. вам не нужно, чтобы другой процесс обращался к этому файлу (60101037.png)

...