体验ASP.NET 2.0 中的数据访问控件
idView 控件形成了很好的互补。将 DetailsView 连接到 GridView 可以更好地控制更新个别项目或插入新项目的方式和时机。
FormView 控件 使用上述配置步骤,我们还能够为 ASP.NET 的开发配置另一个新控件 — FormView 控件。FormView 控件支持非常灵活的 UI 布局。下面的示例显示使用 FormView 控件查看单个数据库记录。 图 10.FormView ItemTemplate 输出 像 ItemTemplate 和 EditItemTemplate 这样不同的模板用于查看和修改数据库记录,无需任何自定义代码。 图 11.FormView EditTemplate 输出 新增的 ASP.NET 2.0 数据功能 除了前面章节介绍的新控件,ASP.NET 2.0 还提供几个与数据访问有关的新功能,这些功能有助于提高数据驱动应用程序的性能和安全性。 性能 Web 应用程序的性能通常可以通过两种机制来改进。首先,Web 应用程序层能够缓存尽可能多的数据,减少了不必要的数据层调用。其次,Web 应用程序可以减少调用数据层的次数和大小。 数据源缓存 SQLDataSource 和 ObjectDataSource 支持数据层缓存。通过设置数据源对象的一些属性,程序员不用开发任何自定义代码,即可使用缓存 api。数据源对象将自动管理底层存储机制的一致性。 SQL 缓存依赖关系 对大多数数据驱动的 Web 站点来说,缓存数据是复杂的任务。Web 站点需要使用缓存来提高性能,但是更新数据的需求也很迫切。ASP.NET 1.x 能将页面缓存一段时间,并通过输入参数(QUERYSTRING 或 POST 参数)进行组织。 <%@ outputcache duration="3600" varybyparam="ProdID" %> 以上代码根据变量 ProdID (产品 id)在内存中缓存页面一小时。 如果在应用程序的其他地方更新了下层数据,缓存数据将出现问题。例如,考虑将一个产品目录页面通过产品 ID 进行缓存。如果从一个管理站点更新产品信息(例如,可用数量或价格),过期数据仍保留在缓存中,并显示给客户。在 ASP.NET 1.x 中,必须等待缓存失效,或使用 Response.RemoveOutputCacheItem 强制缓存失效。 ASP.NET 2.0 通过实现表格级 SQL 通知来支持数据库缓存依赖关系。更改数据时,一个表格级依赖关系通知页面。下面的代码将产品页面缓存了一小时,但是向数据库表添加了一个依赖关系。
向 Products 表格添加新的 SQLDependency 属性后,不论表格发生任何更改,缓存过的页面都将失效。SQLDependency 属性必须引用在 web.config 文件中配置的 Microsoft SQL Server DataSource。DataSource 标识了使依赖关系通知有效的数据库连接和参数。 自定义 SQL 依赖关系 虽然默认情况下 SQLDependency 类只支持 Microsoft SQL Server,但是您能够通过 machine.config 和 web.config 文件替代和重新配置类。这个功能允许您创建自定义的 SQLDependency 类,为任何 DataSource(包括 Oracle、Sybase 或其他任何数据库)提供相似的功能。 数据源缓存 在 ASP.NET 2.0 中,缓存数据的另一个方法是使用直接置入数据源的缓存机制。例如,SQLDataSource 和 ObjectDataSource 类都支持通过 EnableCaching 属性直接缓存。只需将该属性设置为 true,数据源将自动缓存从数据存储提取的数据。缓存将根据 CacheDuration 属性设定的时间或通过类似于页面级指令的 SQLCacheDependency 失效。由于在数据源控件中置入了这些功能,无需编写任何代码,您就能快速、轻松地实现缓存。 改进的 DataSet 远程处理支持 对 ASP.NET 1.1 最多的抱怨是:由于通常要将 DataSet 序列化为 XML,因此通过 .NET 远程处理发送 DataSet 比发送其他序列化二进制表示形式慢。ASP.NET 2.0 将 Dat |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |