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>
将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 >类型未定义的一个原因。
但试过各种解决办法之后还是不能解决,郁闷的要命了。
后来我把焦点集中到了龙盾防火墙上面,对,试一试。各种方法多试过了,折腾了很长时间,不在乎再折腾一次。
随即卸载龙盾。
随即打开网站,问题解决了,再也没出那烦人的“sys未定义”错误了,刷新了几次,也没问题。
[size=+0]但为什么呢?为什么呢?……
我又在虚拟机上研究折腾了一段时间,把龙盾能设置的地方都设置了,原来最终问题还是出现在.axd文件上。
IIS根本不能正常解析axd文件,我猜想应该是龙盾防火墙把它给禁止了。安装龙盾后在IIS的“通配符应用程序映射”出加了一条:
C:\WINDOWS\ExtIIS.dll
应该是他把axd文件给禁止了,我在龙盾里面设置允许访问axd文件都不行。
最后,我把这个网站的“通配符应用程序映射”处的“C:\WINDOWS\ExtIIS.dll”删掉,问题迎刃解决。
记住:不要把所有网站的映射去掉,这样,其他网站还受保护。
后来我又测试了一下,虽然去掉了,映射,龙炖的其他过滤,sql,脚本等等,都还起作用。
[size=+0]或许是龙盾把vxd文件的过滤写死在dll里面了,把vxd的请求给拦截了,但龙盾系统日志里面却有没有记录。或许还有其他更好的解决办法,进一步研究之中……