2014-09-29 3 views
1

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

С тех пор, мы получаем ошибку 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 разрешения sion отказано в 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) 

I Теперь я в недоумении.

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

Любые идеи?

ответ

1

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

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

/App/GeneratedImages

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

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

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

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