Telerik WebResource.axd http 处理程序在 web.config 中更新并中断站点

问题描述

我有一个 Web 表单应用程序,其中引用了 Telerik UI for ASP.NET AJAX - 2014.3.1024.40。此应用程序托管在 Azure 中。

在 http 处理程序部分的 web.config 中,我有这个:

<httpHandlers>
  <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
  <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" />
</httpHandlers>

在 system.webServer 部分:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
    <handlers>
      <add name="Telerik.Web.UI.WebResource.axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" />
      <add name="Telerik.Web.UI.DialogHandler.aspx" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" />
    </handlers>
</system.webServer>

我上次部署该应用是在 2020 年底 - 没有问题。

然而,在 1 月下旬,一些用户开始在使用这些 Telerik 控件的页面上遇到问题。

我的部署过程是阶段 -> 验证 -> 生产。所以经过一些调试后,我比较了 stage 和 prod 中的 web.config,发现 httpHandlers 部分和 handlers 部分已经以某种方式更新了。

从那时起就没有人部署过该应用程序。事实上,唯一被编辑的文件是 web.config。所以我使用了 web.config 并用它替换了 prod web.config。就这样解决了。

直到今天,它再次发生。

所以损坏的 web.config 看起来像这样:

<httpHandlers>
  <add path="WebResaurce.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
  <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" />
</httpHandlers>

注意第一个 没有指定完整路径,并且它有一个错字 - WebResaurce 而不是 WebResource。

处理程序也有类似的问题:

<add name="WebResaurce.axd" verb="*" preCondition="integratedMode" path="WebResaurce.axd" type="Telerik.Web.UI.WebResource" />

舞台 web.config 尚未编辑,应用程序按预期工作。

我已经打开了 Microsoft Azure 的支持票,试图找出更新这些的原因,但有没有遇到过这种情况的有经验的 Telerik 用户

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)