在Windows Server 2003 系统上部署asp.net项目出现以下问题: IIS为6.0

导致菜单控件的图片显示不出来:

WebSite:程序中的图片显示正常。
但用到ASP.net 2.0 的 asp:TreeView 控件,控件显示不出图片

图片属性:

地址:http://localhost/WebSite/WebResource.axd?d=41VAQHZc9t11gcfcSh8IynBrLxqhiiUYVpPeaSf8-4s1&t=633965754543750000
协议:超文本传输协议
类型:不可用
创建时间:不可用
修改时间:不可用

如下图:

其实这个问题报另一个错:“ASP.NET Ajax 客户端框架未能加载、"Sys"未定义” 解决这个问题图片就显示出来啦 如下:

一开始是用IE游览器游览的 找不都错误所在,以为是reportviewer 的问题

于是在网上搜索发现了很多关于这方面的内容

但是发现出现相关的情况 都是“reportviewer在IIS7无法显示”为主题的。

可是我的IIS是6.0版本的按理说不会出现这种情况。但是还是抱着试一下的想法 按照他们的解决方法试了下。

解决方法如下:

原因是因为IIS7.5读取web.config的方式改变了,不再读取<system.web>的<httpHandlerss>的设置,而是改成了读取<system.webServer>的<handlers>的设置。

<system.web>   <httpHandlers>   <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>   </httpHandlers> </system.web>

在IIS7.5下要改成如下:

<system.webServer>     <handlers>     <add name="ReportViewerWebControl" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>     </handlers> </system.webServer>

设置完成,报表可以正常显示


这边如果有是因为IIS7.0导致无法显示的朋友可以按照上面的方法试一下。

至于我。。当然没有成功了。

因为这边出现的情况是和我出现的一样的。。

所以我就条件反射的也以为是webconfig配置错误。。

结果浪费了一个晚上webconfig 都改烂掉了也没有解决掉。。。

第二天用火狐游览器的firdebug来检测了下

哇哈哈。。结果发现里面提示的是 "ASP.NET Ajax 客户端框架未能加载,"Sys"未定义"

恩开来这就是问题的根源了

于是就开始搜索这类问题的解决方案。。。

解决方案如下:

情况一:未设置编码

在<system.web>节点中加个 <globalization requestEncoding="utf-8" responseEncoding="utf-8"/> 就可以解决。

情况二:发布网站时没有添加引用(用VS2008会出现这样情况)

因为VS2008考虑到安全因素,没有在发布程序前添加System.Web.Extensions    System.Web.Extensions.Design两个DLL,需自己添加.

情况三:WEBConfig配置问题

在web.config的system.web节中添加

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

即可解决。

情况四:IIS配置问题

查看IIS的配置(如果不是本地就得联系空间服务商),在应用程序配置中查找.axd映射,如果没有就新建,映射路径和.aspx一样,注意不要勾选”检查文件是否存在“,确定后测试下效果。如果已存在映射就检查下路径是否正确以及有没有勾选”检查文件是否存在“,问题应该能够解决


基本上出现的都是上面这些情况。。

然后本人就一个个方法的试。。结果。。没有一个成功。。。

为什么没有成功呢?因为如果成功了也就没有下文了

然后本人就开始思考了

首先

老的两个服务器上面配置文件都没改 都是可以用的 然后补丁也都打了 webconfig也都改烂掉了 网上能找到的改webconfig的方法都试过了 然后今天早上就在那想 昨天肯定找错方向了 因为一开始是认为rdlc出错 后来想到是asp.net的ajax客户端出错 错不因该在rdlc 上 因为补丁这些也都打了 然后再把webconfig的问题也排除了 就只剩下 环境的问题了

而跟环境有关的问题的话就只有一个 就是axd的问题但是axd这边确认文件是否存在也已经去掉了所以还是不知道在哪里出错

后来仔细一看发现是这里的问题

在IIS上面的网站属性下面 会有个一个 通配符应用程序映射(执行顺序) 这里不知道为什么多了一个关于ASPNET_ISAPI.DLL的设置。

然后这边的“确认文件是否存在”被打上了勾。

然后去掉。。果然解决了问题

然后又尝试了发布几个新的网站发现在这个服务器上都会自动添加这里一条。同时确认文件是否存在都是打勾的。。而我们内部测试的服务器则没有这一项。

问题很坑爹。。但是终觉是解决了呵呵。。

之后与跟老师探讨了下得出了以下结论:

“简单来讲就是isapi是用来处理axd的 但实际上axd不存在 所以就出错  而他这里的判断  确认文件是否存在就 判断 isapi 处理的axd 存在不存在”

当然这只是探讨出来的结论。至于对错就不知道了

如果有人知道真正的原因也请告诉一下在下谢谢。。。

以上思路来自于:http://www.cnblogs.com/PleaseInputEnglish/archive/2012/10/18/2729877.html 的博客。

ASP.NET Ajax 客户端框架未能加载、"Sys"未定义的更多相关文章

  1. asp.net ajax客户端框架如何调用Page Method

    asp.net ajax客户端框架如何调用Page Method 1:欲调用的页面方法必须声明为公有(Public)2:该方法必须为静态方法(static)3:该方法必须添加[System.Web.S ...

  2. asp.net ajax客户端框架如何调用Web Service

    asp.net ajax客户端框架如何调用Web Service 1:Web Service类添加 [System.Web.Script.Services.ScriptService]特性2:需要异步 ...

  3. iis7+的虚拟目录:未能加载程序集“**”。请确保在访问该页之前已经编译了此程序集

    在使用win8系统后,突然想运行iis,于是在windows组件中启用iis,并aspnet_regiis.exe -i注册iis后,于是开始发布了一个站点,一切正常 继而,在该站点下添加虚拟目录,然 ...

  4. 异常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项

    常:System.BadImageFormatException,未能加载正确的程序集XXX或其某一依赖项 看到这个异常,我估计谁都会头大一阵子,不过还好,由于前面知道要设置为x86,加上以前观察过I ...

  5. 关于Visual Studio 未能加载各种Package包的解决方案

    问题: 打开Visual Studio 的时候,总提示未能加载相应的Package包,有时候还无法打开项目,各种提示 解决方案: 进入用户目录 C:\Users\用户名\AppData\Local\M ...

  6. 未能加载包“Microsoft SQL Server Data Tools”

    直接在vs2013里的App_Data目录创建数据库,在服务器资源管理器中查看时报错: 未能加载包“Microsoft SQL Server Data Tools” 英文: The 'Microsof ...

  7. 利用CSS、JavaScript及Ajax实现图片预加载的三大方法

    预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布 ...

  8. virtualbox安装增强功能时【未能加载虚拟光盘】

    virtualbox安装增强功能时[未能加载虚拟光盘] 今天在使用Virtualbox中的Ubuntu虚拟机,想安装增强功能来实现更改分辨率,但是在安装时出错:未能加载虚拟光驱 VBoxsGuestA ...

  9. Windows7 安装vs2015 之后 调试Web项目IIS启动不了 aspnetcore.dll未能加载

    安装windows企业版,整整折腾了两天了,一个本身家里网络环境不好,时不时掉线,终于披荆斩棘,克服了所有困难,结果VS2015 EnterPrise 版本在调试Web环境的时候,始终在任务栏里找不到 ...

随机推荐

  1. Shell test 命令,Shell 输入/输出重定向

    一.Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -g ...

  2. CSS技巧和经验

    如何清除图片下方出现几像素的空白间隙 方法1 img { display: block; } 方法2 除了top值,还可以设置为text-top | middle | bottom | text-bo ...

  3. poj 3348 Cows 凸包 求多边形面积 计算几何 难度:0 Source:CCC207

    Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7038   Accepted: 3242 Description ...

  4. 五.dbms_transaction(用于在过程,函数,和包中执行SQL事务处理语句.)

    1.概述 作用:用于在过程,函数,和包中执行SQL事务处理语句. 2.包的组成 1).read_only说明:用于开始只读事务,其作用与SQL语句SET TRANSACTION READ ONLY完全 ...

  5. 201621123005《Java程序设计》第二周学习总结

    201621123005<JAVA程序设计>第二周学习总结 1. 本周学习总结 本章学习了String 的不可变性.自动装箱和拆箱过程,并熟悉了动态数组等 Java中的应用,还有Array ...

  6. react 入门的好东西 可以做出一个完整的网站

    链接  (包含了antd 组件的使用) 安装依赖报错问题                            可能需要按顺序安装,  不能cnpm npm 混合安装,  参考这个package.js ...

  7. (转)MapReduce Design Patterns(chapter 7 (part 2))(十四)

    External Source Input Pattern Description 这种模式不从hdfs加载数据,而是从hadoop以外系统,例如RDB或web service加载. Intent 想 ...

  8. Okhttp之RouteSelector简单解析

    继前面的几篇OKhttp的拦截器简单分析之后,对于后续Okhttp之间的分析自己也着实琢磨了一段时间,是分析RealConnection?还是ConnectionPool,随着对Okhttp源码的深入 ...

  9. android代码常识

    查看当前android代码版本号:build/core/version_defaults.mk---->查找platform_version android源码在线阅读网址 http://and ...

  10. 网络编程 socket编程 - Asyncsocke

    简单的聊天程序:http://blog.csdn.net/chang6520/article/details/7967662 iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 c ...