设为首页 收藏本站
查看: 1065|回复: 0

[经验分享] ajax控件无法使用 iis配置及web修改

[复制链接]

尚未签到

发表于 2015-8-16 11:42:08 | 显示全部楼层 |阅读模式
1、Web.config配置问题:
将Web.config中的相关节配置成如下,然后重新编译你的程序:
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler" validate="false"/>
</httpHandlers>
<compilation debug="true">
<assemblies>
<add assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
  
如果还有错误,试着把<asp:ScriptManager id="ScriptManager1" runat="server" AsyncPostBackTimeout="200" />写在紧随<form>标记内
2、权限问题:
匿名用户法访问 axd文件时,就会造成此类错误,关于这个的讨论大家可以看看《Asp.net Ajax 中的脚本错误: Sys未定义 的解决方法》,在这里作者有详细的讨论
3、IIS的问题,由于IIS版本问题也可能导致此类错误,比如你用的服务器操作系统是2000 server等等,你需要把它们升级到最新版本,这主要是针对IIS的升级。Win2003用户可以从下面这个地址下载到相关的补丁http://download.microsoft.com/download/7/b/1/7b1f473c-547d-4196-b00d-bf3aa2a3e898/WindowsServer2003-KB912812-x86-CHS.exe(建议你安装sp2并实时更新升级)
相关讨论大家还可以看一下这儿的讨论:博客园——http://www.iyunv.com/ltc31/archive/2006/09/20/510003.html
4、类库问题:
如果真是这儿的问题应该解决起来就比较简单了,你只需要安照下面的步骤做即可
到http://ajax.asp.net/downloads/beta/default.aspx?tabid=47&subtabid=471 下载一个库文件然后解压到X:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025 (x代表你安装路径盘符)
即可
5、有人提到用IP访问就会有问题,用Localhost或者域名就正常,这儿我估计是缓存的问题,可以更新一下缓存看看是是能够解决
6、另外就杀毒软件的问题了,如果你的杀毒软件比较敏感的话也可能会杀掉了某些js程序导致此类问题的产生
7、当然了,你首先得检查一下你的浏览器没有禁止javascript脚本才行(这个应该最早确认)
8、我自己解决办法:我在试了上面几种方法之后都没有很好地解决,于是我就把所有的Asp.net Ajax的东东全部删除,包括ToolKits,然后再从asp.net上重新下载最新版本的Ajax安装之,发现问题简简单单地解决了。安装成功后,在VS的工具箱里分别多了Ajax Extions和Ajax ToolKits两个选项卡,之后我安装后是没有的…… 大家妨也试一下,按理说成功安装完成之后就可以正常使用的
9、程序本身的问题:如果你在程序中有自己的Javascript代码的话,你需要仔细检查一下客户端执行后的代码情况,看看是是某些变量在未定义前就使用了,特别要注意加载的顺序,总之这也是一个造成sys 类型未定义的一个原因。
  
但试过各种解决办法之后还是能解决,郁闷的要命了。
后来我把焦点集中到了龙盾防火墙上面,对,试一试。各种方法多试过了,折腾了很长时间,在乎再折腾一次。
随即卸载龙盾。
随即打开网站,问题解决了,再也没出那烦人的“sys未定义”错误了,刷新了几次,也没问题。
[size=+0]但为什么呢?为什么呢?……
我又在虚拟机上研究折腾了一段时间,把龙盾能设置的地方都设置了,原来最终问题还是出现在.axd文件上。
IIS根本能正常解析axd文件,我猜想应该是龙盾防火墙把它给禁止了。安装龙盾后在IIS的“通配符应用程序映射”出加了一条:
C:\WINDOWS\ExtIIS.dll

应该是他把axd文件给禁止了,我在龙盾里面设置允许访问axd文件都行。
最后,我把这个网站的“通配符应用程序映射”处的“C:\WINDOWS\ExtIIS.dll”删掉,问题迎刃解决。
记住:要把所有网站的映射去掉,这样,其他网站还受保护。
后来我又测试了一下,虽然去掉了,映射,龙炖的其他过滤,sql,脚本等等,都还起作用。
[size=+0]或许是龙盾把vxd文件的过滤写死在dll里面了,把vxd的请求给拦截了,但龙盾系统日志里面却有没有记录。或许还有其他更好的解决办法,进一步研究之中……

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-99719-1-1.html 上篇帖子: IIS 下篇帖子: 解决IIS中部署WCF时,访问.svc文件的404错误问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表