图6.选择共享/远程文件:在右边方格中选择所有的远程/共享站点文件
5.8接下来,点击Copy Selected Files选项按钮,从共享/远程站点拷贝文件到你的本地站点,如图7所示
图7.拷贝文件:使用拷贝按钮从远程/共享站点拷贝文件到本地站点
如果拷贝过程发现文件冲突,它会询问你是跳过文件还是覆盖本地文件,如图8所示。
图8.文件冲突解决办法:出现文件冲突是,你有一次机会决定如何处理冲突
如果站点的子文件夹名字雷同,你可以选择同步按钮在远程和本地站点之间直接同步文件,如图9所示。
图9.同步文件:点击同步按钮在远程和本地服务器之间同步选择的文件
这样就完成了站点的拷贝过程。
使用xcopy进行部署
将一个ASP.NET应用程序部署生产服务器上是非常简单:只需要使用xcopy命令拷贝你的应用程序完整目录结构到生产环境就可以了,下面就是xcopy的过程:
?◆点击开始?运行打开一个终端窗口
?◆输入cmd回车
?◆在目标位置创建相同的文件夹结构
?◆最后,输入下面的命令,注意使用你自己的路径信息进行替换,如图10所示
XCOPY DevXSharedWebSite DevXSourceWebSite /e /r /k /h /i /y
图10.xcopy示例:使用图中给出的xcopy命令选项拷贝所有目录,子目录和文件到共享站点
作者提醒:当你在Vista操作系统中运行xcopy命令时,你将会看到一个消息:“xcopy已经被弃用,请使用ROBOCOPY”,ROBOCOPY意思是“强壮的文件拷贝”,在Vista中,在命令行输入ROBOCOPY /?你可以找到更多有关它的信息。
XCOPY 对阵Copy Web Site工具
现在你已经看到这两个方法了,你会使用哪一个呢?相对xcopy而言,使用Copy Web Site工具时有一个缺陷,就是页面初始载入时间比较缓慢,那是因为Copy Web Site工具拷贝你的所有源代码页面作为源,并且它不执行编译操作,此外,拷贝源文件还引入了潜在的风险,因为人们可以看到源代码,然而,Copy Web Site改善了xcopy,因为你可以使用它部署你的应用程序到一个文件系统中,一个IIS本地实例,FTP站点,或者甚至远程站点程序集。
6.预编译你的站点
你可以使用ASP.NET 2.0预编译特性缩短web页面的载入时间,并且可以避免在服务器上直接部署源代码,预编译是一个强大的新特性,它可以检查并提供任何编译失败的警告消息,让你部署应用程序时不需要存储任何源代码在服务器上,预编译可以减少应用程序响应时间和提升性能,关于预编译的完整讨论已经超出了本文的范围,你可以参考http://www.devx.com/dotnet/Article/34418/0。
7.减少文件大小
挤出web页面、脚本和样式表中额外的空格和不需要的字符对减少文件大小通常是一个很好的实践,你可以使用IIS压缩对比减少文件大小前后网络带宽的消耗和性能的改善,即使使用IIS压缩对性能有一点点改善(压缩需要额外的进程),它仍然算是一个最佳实践,因为细微的性能改善相对于大的受益是可以忽略不计的,压缩可以减少网络带宽消耗将近50%!http://www.sswug.org/see/Using_Http_Compression_through_IIS-38924这篇文章提供了更多关于IIS HTTP压缩的信息
8.利用点击一次部署和自动更新
点击一次部署是Microsoft .NET 2.0引入的一个战略,你可以使用它部署应用程序到文件系统、本地web服务器、远程web站点或FTP站点。
点击一次的本质是你在客户端有一份应用程序,当更新可用时你可以检查到并可以下载它们,允许你配置你的应用程序安全地更新并定期发布到Internet,点击一次提供了更低的成本,并且自动更新与版本控制没有冲突!你可以使用点击一次部署战略为应用程序提供热更新,只下载并安装改动过的程序库,然而,可能有些情况下点击一次不能按预期工作,例如:如果一个客户端的浏览器代理服务器已经缓存了部署文件的某个旧版本,那个客户端可能不会按预期那样更新,使用HTTP内容过期可以减轻这个问题。
最后想说的几点内容
你在部署应用程序之前,确保应用程序web.config文件中的Compilation Debug属性被设置为false了,当你设置为true时,你的应用程序会吃掉更多的内存并消耗更多的处理器时间,同时脚本和图像下载不会缓存到本地。
当你部署应用程序到生产服务器上之前,以Release模式构建你自己的程序集,通过设置web服务扩展为“启用”确保你允许IIS处理动态内容。
确保你已经对所有配置数据都进行加密处理,如连接字符串等。
记住通过IIS使用HTTP压缩建设文件的大小,改善应用程序的整体性能。
最后,准备一个检查列表列出部署步骤是非常明智的,使用交叉检查确保没有跳过任何一个步骤。
正如你看到的,将应用程序部署到生产环境有大量的策略,请选择适合你自身的最佳部署模式,准备一个检查列表,使用它进行校验,你会发现生产部署也可以变得非常顺利