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 не отображаются правильно. Но пока производство восстановлено:)