探索一些在ASP.NET应用程序开发方面的最佳实践,按照这些有用的过程执行就可以改善你的应用程序性能。本文展现了八个最佳实践,你可以在生产模式中开发ASP.NET应用程序时遵循这些最佳实践。
1.使用版本控制你的程序集
确保你有一套合适的版本控制策略,在编译时可以使用程序集版本属性应用版本标志,例如:
[程序集: 程序集版本("1.0.12.34")]
在构建过程中通常对一个应用程序应用相同的版本号。
2.给程序集取一个强壮的名字
程序集是版本控制和代码复用的最小单元,包括:
◆程序集标识信息(名称,版本等)
◆清单和元数据信息
◆MSIL代码
◆类型和安全信息
◆资源
具有强壮名称的程序集与它的版本信息、区域信息和数字签名一起可以唯一标识出它。
可以使用.NET框架提供了一个实用程序(sn.exe)为你的程序集创建一个强壮的名称,这个实用程序需要你提供一个密钥文件作为参数,结果文件叫做“强名称”文件,你可以使用sn.exe工具从命令行创建强名称密钥文件,如:
sn --k MyCompany.snk
当你执行前面这条命令时,你会看到如图1所示的内容输出。
探索一些在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.打乱你的程序集
在开始部署程序集之前,最好先打乱它,这样使得反编译更困难,阻止反向工程的尝试,因此,保护你的源代码避免潜在的威胁,此外,打乱程序集可以减少它的大小,从而提升应用程序的性能,在http://www.aspnetpro.com/newsletterarticle/2006/10/asp200610jk_l/asp200610jk_l.asp能找到更多关于打乱程序集的信息。
4.将共享程序集部署到GAC
你应该将被多个应用程序使用的程序集部署到全局程序集缓存(通常叫做GAC)中,它允许其中的程序集由多个应用程序共享,将程序集部署到GAC中改善了它的载入性能,从GAC载入强命名程序集速度更快,因为它们在安装时就已经校验了,在运行时就不需要再次校验了,.NET框架会跳过校验,运行时总会检查强命名程序集校验它们的完整性,.NET拒绝载入不受信任的或可能捣乱的程序集,记住将程序集安装到GAC之前一定要给它取一个强壮的名字。
用GACUtil这个工具将程序集放入GAC,下面的命令将MyProject.dll放入GAC中,因此它就成为了一个全局程序集。
GacUtil /i MyProject.dll
要卸载GAC中的程序集,可以使用:
GacUtil /u MyProject.dll
注意即使不将程序集放入GAC你也可以使你的强命名程序集全局可访问,但你需要使用xcopy命令来部署这样的程序集。
[1] [2] [3] [4] 下一页