在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. 【网络编程】inet_addr、inet_ntoa、inet_aton、inet_ntop和inet_pton区分

    先上一张图 1.把ip地址转化为用于网络传输的二进制数值 int inet_aton(const char *cp, struct in_addr *inp); inet_aton() 转换网络主机地 ...

  2. 【html5】hashchange Event – 监测URL的hash变化

    通过URL传值,在?后附加以=连接的键值对,各键值对间以&连接:也可以通过URL传递页面参数,在”#”后附加的方式.两者最大的一个 区别在于:后者不会发起请求,不会导致页面刷新.常见应用场景在 ...

  3. APUE学习笔记——5缓冲Buffering、流、文件对象

    缓冲的几个基本概念     缓冲的作用:减少系统read和write的次数. 全缓冲         系统标准I/O缓冲区被写满时才进行真正的I/O操作.         磁盘文件一般使用全缓冲   ...

  4. ROW_NUMBER() OVER(PARTITION BY)

    select * from (select *,ROW_NUMBER() OVER(PARTITION BY GoodsID ORDER BY IsMain desc,OrderNum) as Mai ...

  5. c# http操作类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  6. 微信小程序的一些数据调用方式

    1.模板数据的调用 一张图了解一下在wxml页调用预先定义好的模板: 可以看到上面调用了两个模板,数据调用却是不同的,obj是一个对象,对象内包含多个键值对形式的数据: tabbar是一个一维数组,每 ...

  7. keras系列︱利用fit_generator最小化显存占用比率/数据Batch化

    本文主要参考两篇文献: 1.<深度学习theano/tensorflow多显卡多人使用问题集> 2.基于双向LSTM和迁移学习的seq2seq核心实体识别 运行机器学习算法时,很多人一开始 ...

  8. python最重要的模块logging

    logging模块 这个模块是目前最重要的模块!!!我一定给讲透彻一点 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python中的loggi ...

  9. PHP语法笔记二

    日期函数 date_default_timezone_set(“PRC”):时区设置为中国区 date(“日期格式”[,时间戳]):设置当前或某个时间戳的日期格式. 参数 format 表示时间格式化 ...

  10. from sklearn.datasets import make_classification创建分类数据集

    make_classification创建用于分类的数据集,官方文档 例子: ### 创建模型 def create_model(): # 生成数据 from sklearn.datasets imp ...