2012-02-03 2 views
0

Я создал основную круговую диаграмму и линейный график, используя графику MS. Я развиваюсь в .NET Framework 4.0, поэтому я не установил ничего, связанное с графикой на моем компьютере.График MS, не работающий на сервере Windows 2008

Графики работают правильно на моем компьютере, когда я запускаю его на локальном хосте, но когда я развернул код на сервере Windows, они там не работают.

Я не получаю никаких ошибок, иначе я бы сделал некоторые исследования, основанные на ошибке. Единственное, что отличается на сервере, это каталог wwwroot на диске D: drive и .net установлен на диске C :.

Кроме того, файл System.web.Datavisualization.dll присутствует на диске C :. Ниже мой конфигурационный файл для этой страницы ASPX

<configuration> 
<system.web> 
<authorization> 
    <allow roles="ANALYST"/> 
    <deny users="*" /> 

</authorization> 
<httpHandlers> 
    <add path="ChartImg.axd" verb="*" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/> 
</httpHandlers> 

<add key="ChartImageHandler" value="storage=file;timeout=20;" /> 

ответ

1

Для компонента построения диаграмм вы обычно необходимо настроить каталог для сохранения диаграммы in

Например:

<add key="ChartImageHandler" value="storage=file;timeout=20;url=~/ChartImages/" /> 

Примечание параметр url. Кроме того, этот каталог должен быть настроен так, чтобы ваше приложение могло писать на него.

Что происходит, когда вы запускаете его локально, сайт выполняется в контексте вашей учетной записи пользователя. Очевидно, что у вас есть права на чтение/запись для удаления файлов в любом месте каталогов проектов. Вот почему он «работает на вашей машине».

Однако при развертывании на веб-сервере он (скорее всего) выполняется под идентификатором ваших пулов приложений. Плагины приложений редко имеют соответствующие права на создание файлов в любом месте, поскольку это будет кошмар безопасности.

Итак, вам нужно настроить специальный каталог, в который нужно вставить файлы диаграмм. Также вам нужно убедиться, что пул приложений имеет соответствующие права на создание файлов в этом каталоге. Наконец, вы должны быть уверены, что ничто не имеет прав на выполнение файлов в этом каталоге. В противном случае вы можете просто заархивировать свое приложение и данные и поместить ссылку на это со своей домашней страницы: /.

+0

Спасибо! Это была проблема с каталогом. Я просто решил это. Взял меня долгое время, хотя :) – Anjali5

0

Вы также добавили ссылку на диаграмму в разделе <handlers /> вашего web.config?

<configuration> 
<system.webServer> 
    <handlers> 
    <remove name="ChartImageHandler" /> 
    <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" 
      path="ChartImg.axd" 
      type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, 
      System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral,   
      PublicKeyToken=31bf3856ad364e35" /> 
    </handlers> 
Смежные вопросы