资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
南京邮电大学毕业设计(论文)外文资料翻译学 院 专 业 学生姓名 班级学号 外文出处附件:1外文资料翻译译文;2外文原文指导教师评价:1 翻译内容与课题的结合度:优良中差2.翻译内容的准确、流畅:优良中差3.专业词汇翻译的准确性:优良中差4.翻译字符数是否符合规定要求:符合口不符合指导教师签名:年 月 日附件1:外文资料翻译译文非常 ASP.NETI.IWeb部署项目当ASP第一次发布时,Web编程还比较困难,因为需要IIS来处理ASP页。后来, ASP.NET 2.0和Visual Studio 2005通过引入网站开发模型使一切工作都变得容易了。 借助该网站模型,您不必在Visual Studio中创建新项目,而是可以指向一个目录并开 始编写网页和代码。此外,您还可以使用内置的ASP.NET Development Server快速测试 站点,ASP.NET Development Server将ASP.NET寄宿在一个本地进程中,并消除了必须 安装IIS才能进行开发这一先决条件。该网站模型的魅力在于您在开发Web应用程序时 无需考虑打包和部署。需要其他类时怎么办?向App_Code目录添加一个.cs文件即可 开始编写。希望将可本地化的字符串存储在资源文件中时怎么办?向 App_GlobalResources目录添加一个.resx文件并键入字符串。一切都顺顺当当;您根 本就不必考虑编译和部署方面的事情。在准备进行部署时,您有多种可选方案。最简单的方案是将文件复制到主运行服务器 并按要求编译每一个文件(和在测试环境中一样)。第二种方案是使用 aspnet_compiler.exe实用工具将应用程序预编译为二进制版本,之后将只剩下要放到服 务器上的一组程序集、静态内容和配置文件。第三种方案也使用aspne t_ comp il er.exe, 但要创建一个可更新的二进制部署,其中.as*x文件保持不变(并且可修改),而所有 代码文件都编译为二进制程序集。这似乎涵盖了每一种可能的情况,开发人员可以一心一意地编写Web应用程序,而 在以后实际部署时再作打包和部署决定。不过,此模型也遭到了相当大的反对,特别是那 些习惯了自己开发的Web项目是在实际项目文件中指定的实际项目的开发人员的反对, 这些项目允许注入生成前和生成后函数、从生成过程排除文件以及使用命令行开关在调试 和发布版本之间进行切换等操作。有鉴于此,Microsoft迅速推出了 Web应用程序项目 (即WAP),最初它是作为Visual Studio 2005的插件发布的,现在包含在Visual Studio 2005 Service Pack 1 (SP1)中,Visual Studio 2005 Service Pack 1 (SP1)可从 msdn.microsoft.com/vstudio/support/vs2005spl 下载。WAP可替代与Visual Studio .NET 2005 Web项目模型非常接近的网站模型。新的 WAP模型会在生成过程中编译所有源代码文件,并在本地的/bin目录中生成一个用于部 署的程序集。WAP还使得增量采用ASP.NET 2.0引入的新的分部类代码隐藏模型变得更 加容易,因为现在您可以打开Visual Studio .NET 2003项目,并且在转换过程中只修 改.sln和.csproj (或.vbproj)文件。然后可将每个文件及其代码隐藏类转换为与项 目中任何其他文件都无关的新的分部类模型(操作方法是:在解决方案资源管理器中右键 单击各个文件并选择“转换为Web应用程序”),也可以让它们仍然使用旧模型。这与 将Visual Studio .NET 2003 Web项目转换为网站模型大不相同,转换为网站模型会同 时转换所有文件,并且不支持增量采用。最后,还有一个称为“ Web部署项目”(本专栏的主题)的新项目类型,它引入了许 多既针对网站项目又针对Web应用程序项目的附加部署选项。Web部署项目弥补了既针 对网站应用程序又针对Web应用程序项目的部署选项中的遗留漏洞,并且可以简单而又 可扩展地实现几乎任何部署方案。为确切了解这一新项目类型增加了哪些内容,我们先 来回顾一下在Web部署项目推出之前的情况。使用网站模型生成应用程序时,您可以选择对部署站点进行预编译。通过Visual Studio 2005中的“生成”|“发布”菜单或直接通过命令行实用工具 aspnet_compiler.exe,您可以访问预编译实用工具。显示了 Visual Studio所显示的此 工具的界面。使用发布实用工具时必须作出的第一个决定是.as*x文件在部署后是否可更新(在 aspnet_compiler.exe命令行实用工具中使用-u开关的“允许更新此预编译站点”选 项)。此决定取决于在部署后是否希望能够在不重复整个部署过程的情况下对网页进行 较少更改。事实上,您可能希望明确禁止对已部署网页进行任何修改,并要求所有修改都 要遵循标准的部署(也希望遵循标准的测试)过程,在这种情况下,应选择将站点发布为 不可更新。将站点发布为不可更新时,您可以完全删除所有.as*x文件,而只发布二进制程序 集(以及配置文件和静态内容)。不过,如果没有物理文件,ASP.NET将无法确定哪些类 要用于哪些端点请求。例如,如果您的应用程序收到一个请求Pagel.aspx的请求,而您 已经使用了不可更新的二进制部署,则磁盘上很可能没有任何Pagel.aspx文件,并且现 有配置文件中没有任何内容来指示部署到/bin目录的程序集集合中哪个类应是该请求 的实际处理程序。为弥补这一缺陷,编译过程还将生成一个.compiled文件集合,这些 文件以简单的XML格式包含端点-类型映射和文件依赖关系信息,同时这些文件必须与所 部署站点的/bin目录中的二进制程序集一起发布。例如,如果应用程序中原来有一个名 为Page1.aspx的页,则aspnet_compiler.exe实用工具会生成一个名为 page1.aspx.cdcab7d2.compiled (哈希代码不定)的文件,其中包含以下XML:preserve resultType二3virtualPath二/SampleWebSite/Pagel.aspxhash二8a8da6c5a filehash二42c4a74221152888flags二110000 assembly二App_Web_aq9bt8mjtype二ASP.page1_aspxfiledep name二/SampleWebSite/Page1.aspx /preserve使用此实用工具发布网站时必须作出的另一个重要决定是确定生成的程序集的打包 粒度。通过选中“使用固定命名和单页程序集(或在aspnet_compiler.exe命令行实 用工具中使用-fixednames),既可为站点中的每个目录创建单独的程序集,又可为站点 中的每个可编译文件创建单独的程序集。作出该决定并不像您可能想像的那么容易,因为 每个选项都有其潜在问题。如果决定不使用-fixednames选项,则每次发布应用程序时 都会生成一组全新的程序集,并且它们的名称与之前发布的程序集不同。这意味着部署更 加复杂,因为在部署新的程序集之前必须删除主运行服务器上所有以前发布的程序集,否 则在处理下一个请求时将生成冗余的类定义错误。使用-fixednames选项可以解决此问 题,因为每个文件都将与命名清晰的程序集对应,而这些程序集在一次编译和下次编译中 不会发生变化。不过,如果站点规模较大,则为每个网页、控件和母版页分别生成单独的 程序集,很明显意味着您要管理成百上千个程序集的发布。Web部署项目非常圆满地解决 了部署中程序集粒度这一问题,如下所示。您还可以将程序集签名引入编译过程,以便创建具有强名称的不同版本的程序集,如 果需要这也适用于全局程序集缓存(GAC)中的部署。通过使用-aptea选项,您可以使 用程序集级别的属性AllowPartiallyTrustedCallers来标记生成的程序集,在将任何程 序集部署到GAC并且以低等或中等信任级别运行ASP.NET的情况下,这是必要的。(请 注意,此属性应仅应用于已证明不会暴露任何安全漏洞的程序集,因为如有漏洞,使用此 属性可能招致引诱攻击。)有关发布站点的另一个细节是如果决定使用Web应用程序项目而不使用网站模型, 则“生成”|“发布”对话框的外观将大不相同。Web应用程序项目假定您希望将应用程 序发布为可更新的.as*x文件和预编译的源文件(开发中它所使用的同一模型),因此 仅针对二进制的部署选项不可用。此实用工具实质上更接近于“复制网站”实用工具(随 网站一起提供)而不是“发布网站”实用工具,因为它需要复制由标准生成过程生成的文 件。从技术上讲,即使您使用Web应用程序项目,也不会限制您使用仅针对二进制(不 可更新)的部署。其实,WAP生成的输出是一个有效的网站,然后您可以传递 aspnet_compiler.exe实用工具来生成创建二进制部署。幸运的是,您只是不能从Web部 署项目调整过的Visual Studio 2005界面调用它而已。Web部署项目那么迄今为止所有现有的编译和部署选项中缺少什么呢?主要缺少两种功能:控制程 序集命名(特别是为了进行部署)的功能,以及将所有输出的程序集合并为一个程序集从 而简化部署的功能。Web部署项目可以解决这两个问题。但或许更重要的是,它们还与网 站应用程序和Web应用程序项目的部署问题中的许多遗留问题有关。它们的核心是,Web部署项目(可从msdn2.microsoft.com/aa336619.aspx下载) 代表的只是向您解决方案中添加的另一个项目类型。与所有Visual Studio项目文件一 样,Web部署项目也是可在IDE中直接编译或从命令行运行的MSBuild脚本。不过,Web 部署项目包含用于编译和打包网站(或Web应用程序项目)的生成命令,而不指定要编 译的源代码文件集合。这意味着它们会调用aspnet_compiler.exe实用工具(以及其他 实用工具)来创建特定Web应用程序的部署。Web部署项目是作为Visual Studio插件 包提供的,其中包含了一个用于注入新项目的易用菜单项和一个用于控制所有可用设置的 完整属性页集。若要向现有应用程序中添加新项目,可右键单击现有网站(或Web应用 程序项目),然后选择“添加Web部署项目”项。此操作将把一个包含MSBuild脚本的 新.wdproj文件添加到您的解决方案中,并会生成您所创建的应用程序的部署。将Web部署项目添加到您的解决方案之后,您就可以通过访问项目文件的属性页来 精确控制项目的用途。新部署项目的默认设置是以可更新模式部署应用程序,所有.as *x 文件都将保持不变,源文件则编译为部署在顶级/bin目录中的一个程序集。不管源应用 程序使用网站模型还是使用Web应用程序项目模型,这些部署项目的作用都是相同的, 这意味着无论您现在选择哪个开发模型都不会影响您的部署选项。Web部署项目最重要的 功能之一是它能够将所有部署都配置为二进制(不可更新)-一个程序集,您可以为该程 序集选择名称。使用此部署模型意味着,您只需将一个程序集放到活动站点的/bin目录 中即可更新整个站点,并且在部署或处理导致错误的已部分部署的站
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号