安装ASP.NET AJAX必看
若要安装并使用ASP.NET AJAX框架的全部功能进行开发,那么你的操作系统必须是Windows 2000、Windows XP、Windows Server 2003或Windows Vista,并应该安装好如下软件:
Microsoft .NET Framework Version 2.0或以上;
至少一种流行的浏览器:IE 5.01(推荐使用IE 6.0)或FireFox 1.5;
Visual Studio 2005(各种版本均可)或者Visual Web Developer Express Edition;
Internet Information Service(IIS)。
需要特别注意的是,虽然在Windows 2000操作系统上也能正常安装ASP.NET AJAX框架,但在程序开发或运行时可能会出现一些难以预料的异常。所以若没有特殊需要的话,强烈建议不要使用Windows 2000。
当然,作为使用ASP.NET AJAX程序的客户端,即程序的用户,并不需要任何的附加安装,只要一种流行的浏览器即可。
2.3.2 几个不同的安装文件
在上述软件安装完毕之后,我们即可到http://ajax.asp.net/下载最新的ASP.NET AJAX安装文件了。在http://ajax.asp.net/的下载页面中,我们可以看到ASP.NET AJAX分成了如下两个单独的下载安装文件。
ASP.NET 2.0 AJAX Extensions:包含了原有CTP版本中的最重要和最基本的一些控件、组件和功能,例如服务器端的ScriptManager控件、UpdatePanel控件,客户端的JavaScript面向对象方面扩展、调试类、Web Service代理等。对于这一部分内容,微软公司将提供完善的技术支持,并提供如MSDN一般详细的开发文档(可在http://ajax.asp. net/docs/访问)等。若要安装ASP.NET AJAX,这个核心部分自然是必不可少的。
ASP.NET AJAX Futures CTP:这一部分就是被ASP.NET AJAX暂时“抛弃”的原有CTP版本中“非核心”的部分,也叫做“Value-add”包,其中包括服务器端的扩展器控件(Extender Control)、Web部件,客户端的各种控件、拖放功能实现、ASP.NET AJAX XML脚本等。所谓“抛弃”,实际上只是意味着微软公司暂时不会对这些内容进行官方的支持,而选择使用“社区支持”的方法。这样,微软公司将不会为这部分内容提供详细的开发文档,开发者只能在社区中互相讨论以找到问题的解决方案。若要安装这部分内容,则必须首先安装“核心”部分的ASP.NET 2.0 AJAX Extensions。
由于ASP.NET AJAX是个非常庞大的项目,微软公司尚没有足够的时间完成对整个产品的支持,所以才将其暂时分成了两个相对独立的下载安装文件。不过事实上,Futures包中包含的内容在开发中的重要性一点也不逊于核心部分,二者都是开发一个完善的Ajax应用程序所不可缺少的部分。在未来的一段时间之内,微软公司也将逐渐地把Futures中的内容转移到核心部分的ASP.NET 2.0 AJAX Extensions中,并提供包括开发文档在内的完善的技术支持。
为了区分两个安装包中的组件,微软公司修改了“Futures”包中组件的命名空间:服务器端命名空间由Microsoft.Web.*修改为Microsoft.Web.Preview.*;客户端命名空间由Sys.*修改为Sys.Preview.*。可以看到,位于“Futures”包中的组件,无论服务器端还是客户端均加上了Preview前缀,表示该部分内容处于“预览”状态中,尚未得到官方的正式支持。
因为合并以上二者是或早或晚的事情,所以本书将不会对其加以任何区分,而是一视同仁地进行介绍。这样,作为读者的你在阅读本书以及运行本书所附代码的过程中,也要确保正确安装了这两个安装包。
在http://ajax.asp.net/的下载页面中,我们还可以看到如下的几个下载文件:
Microsoft AJAX Library:这个下载包中包含了ASP.NET AJAX的客户端JavaScript文件,若你需要在ASP.NET 1.1或者PHP等非ASP.NET 2.0服务器端实现中使用ASP.NET AJAX的客户端部分,那么则需要下载这个文件包,并手工将其中的JavaScript脚本文件引入到页面中。这些JavaScript文件中包含了ASP.NET AJAX所有的客户端功能,包括XML脚本声明、客户端组件、绑定、行为、动作等。前面介绍的ASP.NET AJAX的“核心”和“Futures”安装包中已经包含了该Microsoft AJAX Library的全部内容,若你的服务器端开发平台为ASP.NET 2.0,则直接安装上述两个安装包即可,无需另行下载这个Microsoft AJAX Library。
Sample Applications:该下载包为ASP.NET AJAX的示例程序安装包,通过阅读其源代码并随即看到页面运行时的实际效果,我们可以更加感性地快速了解ASP.NET AJAX各个特性的使用方法。建议所有的读者都能够下载安装这个示例程序,并仔细分析研究其中各种功能的实现。
ASP.NET 2.0 AJAX Extensions Source Code:该内容为“核心”部分ASP.NET 2.0 AJAX Extensions的所有服务器端源代码以及用于调试的pdb文件,基于Microsoft Reference License (Ms-RL)许可协议发布。若你希望能够跟踪调试ASP.NET AJAX的实现代码,或者学习ASP.NET AJAX的实现方式,那么显然应该下载并参考这部分内容。
ASP.NET AJAX Control Toolkit:ASP.NET AJAX Control Toolkit是一个免费的、开源的、由微软公司和开发者社区共同创建的ASP.NET服务器端控件包,其中包含了数十种基于ASP.NET AJAX的、组件化的、提供某个专一Ajax功能的ASP.NET AJAX服务器端控件和ASP.NET AJAX扩展器控件,这些控件同样是创建一个完善的Ajax应用程序所必不可少的。关于ASP.NET AJAX Control Toolkit以及其中控件的使用方法,将在第7、8、9、10章中详细介绍。
ASP.NET AJAX July CTP和ASP.NET AJAX July CTP Documentation:对于那些已经使用ASP.NET AJAX CTP版本开发过半的开发人员来说,现在就让他们立即大动干戈地从CTP版本升级为最新版似乎有些不近人情。微软公司在这里仍旧保留了2006年7月份ASP.NET AJAX的CTP以及其开发文档的下载,有需要的朋友可以将其作为参考。
2.3.3 安装ASP.NET AJAX
ASP.NET AJAX的两个安装文件(“核心”部分和“Futures”部分)均很小,每个只有1MB多,所以下载的过程并不需要花费太多的时间。和普通的安装文件一样,我们只需要双击运行,然后跟随着安装向导即可完成安装。由于“Futures”部分基于“核心”部分,所以我们应该首先安装“核心”部分。安装“核心”部分ASP.NET 2.0 AJAX Extensions时的界面如图2-3所示。
图2-3 安装核心部分ASP.NET 2.0 AJAX Extensions时的界面
安装完成之后,“核心”部分ASP.NET 2.0 AJAX Extensions的程序集System.Web.Extensions.dll将注册至本机的GAC(Global Assembly Cache,全局程序集缓存)中。在.NET Framework 2.0 Configuration中查看GAC(开始 | 控制面板 | 管理工具 | Microsoft .NET Framework 2.0 Configuration),如果一切顺利的话,你将可以从中找到System.Web.Extensions这个条目,如图2-4所示。
图2-4 System.Web.Extensions.dll注册至本机的GAC中
核心部分ASP.NET 2.0 AJAX Extensions安装完成之后,接下来安装ASP.NET AJAX CTP,即“Futures”部分。安装“Futures”部分ASP.NET 2.0 AJAX Extensions时的界面如图2-5所示。
图2-5 安装“Futures”部分ASP.NET 2.0 AJAX Extensions时的界面
“Futures”部分ASP.NET 2.0 AJAX Extensions程序集Microsoft.Web.Preview.dll不会注册至GAC中,所以若我们在项目中需要使用其中的功能,则需要手工为其添加引用。
完成安装之后,我们导航至安装目录(按照默认路径,为C:"Program Files"Microsoft ASP.NET" ASP.NET 2.0 AJAX Extensions"v1.0.61025以及C:"Program Files"Microsoft ASP.NET" ASP.NET 2.0 AJAX Futures January CTP" v.1.0.61025),找到并阅读EULA.rtf和EULA_CTP.rtf两个许可文件。知识产权受到各国法律的保护,尊重知识产权也是每个人应尽的义务,请详细阅读并确认理解其中条款后再进行后续开发。
如果一切顺利的话,那么恭喜了!你可以立刻开始创建第一个ASP.NET AJAX应用程序了。
2.3.4 常见问题以及解决方案
不过事情却不总是如此顺利的,正所谓好事多磨。ASP.NET AJAX(包括从前的CTP版本)在安装时经常会出现一些问题,其中一个非常常见的错误是提示安装文件有问题并无法继续安装,图2-6显示了在CTP版本中这个错误的截图。
图2-6 ASP.NET AJAX安装中常见的“安装文件损坏”错误
如果很不巧地遇到了这个错误,那么可以尝试使用下面的步骤来修复:
(1) 清除浏览器的离线缓存文件;
(2) 重新下载ASP.NET AJAX的两个安装文件,注意不要直接在原位置打开并运行,而是首先保存在本地后再运行;
(3) 完全删除旧版本的ASP.NET AJAX CTP(如果有的话,包括核心部分以及Futures部分),并清理注册表,删除一切有关ASP.NET AJAX的键;
(4) 尝试再次安装。
若仍出现这个问题,那么最后的办法就是到其他的计算机上安装好,并将该计算机的安装目录(按照默认路径,为C:"Program Files"Microsoft ASP.NET"ASP.NET 2.0 AJAX Extensions"以及C:"Program Files"Microsoft ASP.NET" ASP.NET 2.0 AJAX Futures January CTP")中的文件以及子目录,包括核心部分的System.Web.Extensions.dll、Futures部分的Microsoft.Web.Preview.dll等拷贝到本机中。接下来在我们的ASP.NET 2.0应用程序中引用这些程序集之后,即可同样开始使用ASP.NET AJAX。
另外,在安装完成之后,我们建议清空浏览器缓存并重新启动IIS,以避免可能出现的一些由缓存导致的脚本文件以及程序集不一致问题。关于重新启动IIS,这里有一个小技巧——无需麻烦地打开IIS管理器,只要在命令行提示符中输入iisreset命令即可。
需要特别注意的是,核心部分ASP.NET 2.0 AJAX Extensions的程序集System.Web. Extensions.dll需要运行于Full Trust信任等级下,而为了安全起见,虚拟主机提供商一般均会将Web站点的信任等级设置为Medium Trust。这样若是在Web站点部署时直接将System.Web.Extensions.dll拷贝到Web站点的bin"目录下,那么ASP.NET AJAX将无法正常运行。因此,我们就必须说服虚拟主机提供商将System.Web.Extensions.dll添加到服务器的GAC中,以期得到Full Trust信任等级,让我们的ASP.NET AJAX Web站点能够正确运行。
(转)http://hi.baidu.com/zhenghanzheng/blog/item/1965bd58abb63782800a1890.html