Telerik RadChart ChartImage.axd 403

Мы используем telerik radchart для составления графиков в нашем приложении, мы использовали его в течение некоторого времени и недавно обновили до 2013.2.717.40 в нашем приложении (это была самая последняя версия нашей просроченной подписки).

С тех пор мы получаем ошибку 403 при использовании изображения диаграммы:

ASPX:

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Charting" TagPrefix="telerik" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

<telerik:RadChart ID="RadChart" IntelligentLabelsEnabled="True" runat="server" CssClass="RadChart" DefaultType="Spline" />

В файле web.config есть:

<httpHandlers>
<add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false" />
</httpHandlers>

а также

<handlers>
      <remove name="ChartImage_axd" />
<add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode" />
</handlers>

И я получаю разрешение 403, отказано в URL для ChartImage.axd

Образ правильно создан и помещен в кэш в соответствующей временной папке, которую мы настроили для использования.

В Processmonitor, как только этот файл записан правильно, создается файл журнала трассировки неудачных запросов 403 (мы включили трассировку неудачных запросов)

Этот файл содержит:

ModuleName IsapiModule 
Notification 128 
HttpStatus 403 
HttpReason Forbidden 
HttpSubStatus 0 
ErrorCode 0 
ConfigExceptionInfo  
Notification EXECUTE_REQUEST_HANDLER 
ErrorCode The operation completed successfully. (0x0) 

Я сейчас в растерянности.

Я не вижу ничего лишенного прав, и похоже, что web.config настроен для построения графиков. Если я снимаю строку запроса, я получаю страницу с ошибкой, так как требуемые параметры отсутствуют, поэтому отображение работает.

Есть идеи?

1 ответ

Решение

Проблема оказывается в том, что Telerik RadChart при использовании файлов изображений на диске, в отличие от хранилища сеансов (UseSession=False), выполняет некоторые проверки пути, переданного для каталога временных изображений, и зашифрованного имени файла, переданного в ChartImage.axd. чтобы убедиться, что вы не делаете взлома.

Мы использовали:

/ приложение /GeneratedImages

Это привело к тому, что файлы были записаны в нужное место на диске, однако, когда компонент Telerik проверил это по пути к образу, они не совпали, и Telerik выбросил сам 403.

Я могу или не могу определить это с помощью рефлектора.

Мы изменили использовать: ~/GeneratedImages

Что заставило вещи работать, мне нужно лучше понять, почему /App/GeneratedImages не отображаются правильно. Но пока производство восстановлено:)

Другие вопросы по тегам