1

アプリでグラフを作成するために 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>

そして、ChartImage.axd の URL で 403 パーミッションが拒否されました。

イメージは正しく作成され、使用するように構成した適切な一時フォルダーにキャッシュされます。

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 がチャート用に正しく設定されているようです。クエリ文字列を削除すると、必要なパラメーターが欠落しているためエラー ページが表示されるため、マッピングが機能しているように見えます。

何か案は?

4

1 に答える 1

1

問題は、セッション ストレージ (UseSession=False) とは対照的に、ディスク上の画像ファイルを使用するときの Telerik RadChart が、一時画像ディレクトリに渡されたパスと、ChartImage.axd に渡された暗号化されたファイル名に対していくつかのチェックを行うことであることが判明しました。ハッキングをしていないことを確認します。

使用していたもの:

/アプリ/GeneratedImages

これにより、ファイルがディスク上の適切な場所に書き込まれましたが、Telerik コンポーネントがこれをイメージ パスと照合したときに十分に一致しなかったため、Telerik 自体が 403 をスローしました。

Reflector の助けを借りてこれを判断した場合と判断しなかった場合があります。

使用するように変更しました: ~/GeneratedImages

/App/GeneratedImages が正しくマップされなかった理由をよりよく理解する必要があります。しかし、今のところ生産は回復しています:)

于 2014-09-30T09:13:11.917 に答える