Ajax .NetFrameWork3.5 Sys未定义 解决方案

问题描述:

最初是192.168.168.17服务器上面的项目在外网上不能正常访问。后面发现只是在IE6下才不能访问,但是在IE7能正常访问。错误提示为微软Ajax框架报错“sys未定义”

如下图:

问题解决:

1.    检查站点下的Web.Config文件里是否含有以下信息:

        <compilation debug="true">

            <assemblies>

                <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

            </assemblies>

        </compilation>

 

        <pages>

            <controls>

                <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

                <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

            </controls>

        </pages>

 

        <httpHandlers>

            <remove verb="*" path="*.asmx"/>

            <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>

            <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

            <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

            <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>

2.    如果这些信息都存在并且一致,检查一下IIS的配置信息。

检查是否有将.axd映射进来:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

 

3.    如果这些设置都正常。再检测一下服务器上的时间。

第二天发现服务器上的年份是2006年,而昨天查看时间的时候没有去查看年份只查看了时间(估计昨天这一步可能就过了,就不要做下面的事情。

4.    比较了一下测试服务器上与产品服务器上的配置,没有什么差别。

5.    如果以上所述都正常的话,就得考虑是否是.Net FrameWork造成的尝试修复或者重装

这次问题是由于服务器上的.Net FrameWork版本跟开发环境上的版本不一致引起的,服务器上的版本是3.5的而开发环境上的是3.5 Sp1的,所以后面将服务器上的版本打上SP1补丁就正常了。

你可能感兴趣的:(Ajax .NetFrameWork3.5 Sys未定义 解决方案)