問題描述:
最初是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補丁就正常了。