1.使用版本控制你的程序集
确保你有一套合适的版本控制策略,在编译时可以使用程序集版本属性应用版本标志,例如:
[程序集: 程序集版本("1.0.12.34")]
在构建过程中通常对一个应用程序应用相同的版本号。
2.给程序集取一个强壮的名字
程序集是版本控制和代码复用的最小单元,包括:
◆程序集标识信息(名称,版本等)
◆清单和元数据信息
◆MSIL代码
◆类型和安全信息
◆资源
具有强壮名称的程序集与它的版本信息、区域信息和数字签名一起可以唯一标识出它。
可以使用.NET框架提供了一个实用程序(sn.exe)为你的程序集创建一个强壮的名称,这个实用程序需要你提供一个密钥文件作为参数,结果文件叫做“强名称”文件,你可以使用sn.exe工具从命令行创建强名称密钥文件,如:
sn --k MyCompany.snk
当你执行前面这条命令时,你会看到如图1所示的内容输出。
【51CTO独家翻译】探索一些在ASP.NET应用程序开发方面的最佳实践,按照这些有用的过程执行就可以改善你的应用程序性能。本文展现了八个最佳实践,你可以在生产模式中开发ASP.NET应用程序时遵循这些最佳实践。
1.使用版本控制你的程序集
确保你有一套合适的版本控制策略,在编译时可以使用程序集版本属性应用版本标志,例如:
[程序集: 程序集版本("1.0.12.34")]
在构建过程中通常对一个应用程序应用相同的版本号。
2.给程序集取一个强壮的名字
程序集是版本控制和代码复用的最小单元,包括:
◆程序集标识信息(名称,版本等)
◆清单和元数据信息
◆MSIL代码
◆类型和安全信息
◆资源
具有强壮名称的程序集与它的版本信息、区域信息和数字签名一起可以唯一标识出它。
可以使用.NET框架提供了一个实用程序(sn.exe)为你的程序集创建一个强壮的名称,这个实用程序需要你提供一个密钥文件作为参数,结果文件叫做“强名称”文件,你可以使用sn.exe工具从命令行创建强名称密钥文件,如:
sn --k MyCompany.snk
当你执行前面这条命令时,你会看到如图1所示的内容输出。
图1.创建一个强名称密钥文件
当你在Visual Studio中创建一个项目时,你会看到一个叫做AssemblyInfo.cs的默认文件,你可以使用它指定有关的属性,下面列出了在AssemblyInfo.cs文件中你可以指定的强名称信息。
[assembly: AssemblyCulture("")] ?【程序集:程序集区域("")】
[assembly: AssemblyVersion("1.0.0.0")] ?【程序集:程序集版本("1.0.0.0")】
[assembly: AssemblyKeyFile("MyCompany.snk")] ?【程序集:程序集密钥文件("MyCompany.snk"】
3.打乱你的程序集
在开始部署程序集之前,最好先打乱它,这样使得反编译更困难,阻止反向工程的尝试,因此,保护你的源代码避免潜在的威胁,此外,打乱程序集可以减少它的大小,从而提升应用程序的性能
4.将共享程序集部署到GAC
你应该将被多个应用程序使用的程序集部署到全局程序集缓存(通常叫做GAC)中,它允许其中的程序集由多个应用程序共享,将程序集部署到GAC中改善了它的载入性能,从GAC载入强命名程序集速度更快,因为它们在安装时就已经校验了,在运行时就不需要再次校验了,.NET框架会跳过校验,运行时总会检查强命名程序集校验它们的完整性,.NET拒绝载入不受信任的或可能捣乱的程序集,记住将程序集安装到GAC之前一定要给它取一个强壮的名字。
用GACUtil这个工具将程序集放入GAC,下面的命令将MyProject.dll放入GAC中,因此它就成为了一个全局程序集。
GacUtil /i MyProject.dll
要卸载GAC中的程序集,可以使用:
GacUtil /u MyProject.dll
注意即使不将程序集放入GAC你也可以使你的强命名程序集全局可访问,但你需要使用xcopy命令来部署这样的程序集。
5.使用恰当的战略进行部署
本文讨论两个主要的部署ASP.NET站点的技术:使用copy工具和xcopy工具。也简要地谈到了点击一次部署,其中copy工具是最新的技术,自ASP.NET 2.0开始引入。
使用copy工具进行部署
下面的步骤完整地显示了从一个站点拷贝到另一个站点的示例
5.1在Visual Studio中选择文件?新建?站点创建一个名叫SourceWebSite的新站点,如图2所示。
图2.创建新站点:从新建站点对话框中选择标准的ASP.NET站点模板
5.2然后再创建一个名叫SharedWebSite的站点,你可以使用copy工具将这个站点拷贝到SourceWebSite
5.3接下来,在Visual Studio Solution Explorer中选择SourceWebSite,在它上面点击右键选择Copy Web Site选项,如图3所示。
图3.拷贝站点:在SourceWebSite上点击右键,在右键菜单中选择Copy Web Site
5.4另外,你也可以选择SourceWebSite然后点击solution explorer 中的Copy Web Site选项,如图4所示。
图4.快速站点拷贝
5.5你将会看到拷贝站点屏幕,在左边的方格中你将会看到SourceWebSite站点包括的文件。
5.6选择SharedWebSite站点(你的远程站点),这样就会弹出打开站点对话框,选择共享的/远程的站点,然后点击打开按钮,如图5所示。
图5.打开站点对话框:选择共享的/远程站点然后点击打开
本文作者: