【问题标题】:get scriptresource axd 404 not found获取脚本资源 axd 404 未找到
【发布时间】:2014-12-03 14:07:13
【问题描述】:

我在 .NET 4.0 中有一个 asp.net Web 应用程序,它使用 Telerik 和 kendo UI 仪表和图表。它在本地工作正常,但在服务器端,它给出了以下错误。

我也在脚本管理器中添加了 enablecdn 属性。

<asp:ScriptManager ID="ScriptManager1" EnableCdn="true" runat="server">
</asp:ScriptManager>

我还在 web.config 中添加了以下几行,

<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>

暂时,我从我的应用程序中删除了 Telerik.Web.UI.dll 和 Telerik.Web.UI.Skins.dll 文件,页面给出了输出,但一段时间后它给出了同样的错误。

我没有从其他帖子中找到任何解决方案。

任何想法都会很有帮助。

【问题讨论】:

    标签: c# asp.net telerik


    【解决方案1】:

    创建一个新的 .NET 4.0 WebApplication,以便它在 web.config 中包含所有需要的内容,并且已经添加了所需的引用。如果框架中内置的脚本资源处理程序无法为您正常工作,则服务器有问题。

    然后,比较应用程序,或者只是将所有内容迁移到新创建的应用程序。原始处理程序工作后,开始添加 Telerik 控件等其他内容。

    顺便说一句,这是让它们工作的基本配置

            <add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false" />
            <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false" />
            <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" />
            <add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false" />
            <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
        </httpHandlers>
        <httpModules>
        <!-- Only needed if RadUpload is used in the site -->
        <!--    <add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule" /> -->
        <!-- Only needed if RadCompression is used in the site -->
        <!--    <add name="RadCompression" type="Telerik.Web.UI.RadCompression" />  -->
    
        </httpModules>
    </system.web>
    
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
        <!-- Only needed if RadUpload is used in the site -->
        <!--    <remove name="RadUploadModule" /> -->
        <!--    <add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule" preCondition="integratedMode" /> -->
        <!-- Only needed if RadCompression is used in the site -->
        <!--    <remove name="RadCompression" /> -->
        <!--    <add name="RadCompression" type="Telerik.Web.UI.RadCompression" preCondition="integratedMode" /> -->
    
        </modules>
        <handlers>
    
            <remove name="ChartImage_axd" />
            <add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode" />
            <remove name="Telerik_Web_UI_SpellCheckHandler_axd" />
            <add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode" />
            <remove name="Telerik_Web_UI_DialogHandler_aspx" />
            <add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode" />
            <remove name="Telerik_RadUploadProgressHandler_ashx" />
            <add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode" />
            <remove name="Telerik_Web_UI_WebResource_axd" />
            <add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode" />
        </handlers>
    </system.webServer>
    

    此外,如果您使用任何类型的身份验证,请确保添加元素​​以允许访问这些处理程序,例如:

    <location path="Telerik.Web.UI.WebResource.axd">
       <system.web>
         <authorization>
           <allow users="*"/>
         </authorization>
       </system.web>
     </location>
    

    【讨论】:

      【解决方案2】:

      试试这个

        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler" validate="false"/>
      

      否则更改下面的行

      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
      

      改成

      <add verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
      

      404 error (Not found) ScriptResource.axd or WebResource.axd

      【讨论】:

        【解决方案3】:

        我在 url 重写时遇到了同样的问题

        如果您正在使用 url 重写,请小心。您可以移动应用程序的根目录,您可能会遇到错误 404。

        我的解决方案(在 .htacess 中) RewriteRule ^/ScriptResource.axd(.*)$ /ScriptResource.axd$1 [NC,L]

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-23
          相关资源
          最近更新 更多