在性能术语中某些操作是昂贵的也就是说它们可能导致性能问题这种情况的原因是该对象需要某些资源来管理它们例如CPU和内存等资源因此使用这些资源越少服务器就做越少的工作从而导致更多页面用于更多的用户如果可以最小化这些资源的使用站点将具有更好的性能并且这种最小化的部分方面是确保只使用这些资源尽可能少的时间
一般来说如果不再需要使用昂贵资源(例如文件系统图形或数据库)的对象则应该对其进行处理惟一的例外情况是ASPNET应用程序中的数据库连接本章后面的数据库连接一节中将讨论这一点对象处理可释放资源例如文件和内存并且允许Web服务器更有效地执行默认情况下由垃圾收集器(Garbage Collector)自动处理资源但通过亲自控制对象处理可以改进性能并且可以通过两种方法来进行控制可以使用标准模式来创建资源使用它然后处理它或者可以使用Using语句这一节将介绍这两种方法因为在文档中可以看到它们
在Wrox United站点中使用对象处理的一个领域是图像处理某些用户具有上传图像的权限管理员可以上传商店的新图像拥有者和教练可以上传队员照片记者和球迷俱乐部成员可以上传比赛照片这种上传过程的部分涉及创建缩略图这使用image对象不再需要该对象时应该对其进行处理出于两个原因处理是必要的第一个原因是因为图像是基于文件的资源并且其他页面可能需要该文件因此确保没有对该文件的连接意味着其他人可以使用它只要不再需要该文件其他某个人就可以立刻访问它进行处理的第二个原因是因为图像占用内存因此图像的处理意味着释放内存并且可用于其他进程
创建缩略图的例程位于ImageHandlingvb文件中该文件在App_Code目录中并且是具有单个共享方法的简单类(实际有两个方法但只是作为图像处理的一部分而需要其中一个方法实际上并不使用该方法)
这段代码的一般性结构是根据存储在磁盘上的己有图像创建新的Image对象然后使用GetThumbnailImage方法创建新的Image对象该方法指定新的宽度和高度这些都非常简单但却涉及两个Image对象因此它需要许多处理下一节将查看这个过程如何使用两种资源处理方法进行工作
ASPNET 入门教程完整版
[] [] [] []