获取scriptresource axd 404未找到

时间:2014-12-03 14:07:14

标签: c# asp.net telerik

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

enter image description here

我也在我的scriptmanager中添加了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文件,该页面给出了输出但是在一段时间后它会给出相同的错误。

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

任何想法都会非常有用。

3 个答案:

答案 0 :(得分:0)

试试这个

  <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

答案 1 :(得分:0)

创建一个新的.NET 4.0 WebApplication,使其具有web.config中所需的所有内容,并且已经添加了所需的引用。如果框架内置的scriptresource处理程序无法正常运行,则服务器出现问题。

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

BTW,这是让他们工作的基本配置

                                                                                                               

        <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 :(得分:0)

我在网址重写方面遇到了同样的问题

如果您正在使用网址重写,请小心。您可以移动应用程序的根目录,但可能会出现错误404。

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