中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
验证
作者:佚名 时间:2006-09-30 13:48 出处:微软MSDN 责编:月夜寒箫
              摘要:验证

作者:Angela Crocker、Andy Olsen和Edward Jezierski 

适用于:

Microsoft® .NET 应用程序

摘要:

学习向 Microsoft .NET 应用程序公开数据的最佳方式,以及如何实现一个有效的策略以便在分布式应用程序的层间传递数据。(本文包含一些指向英文站点的链接。)

目录

 

  • 简介

     

  • 将关系数据映射到业务实体

     

  • 实现数据访问逻辑组件

     

  • 实现业务实体

     

  • 事务处理

     

  • 验证

     

  • 异常管理

     

  • 授权与安全性

     

  • 部署

     

  • 附录及其合作者

您可以在应用程序的许多层上进行数据验证。各层适用不同的验证类型:

 

  • 在提交数据之前,客户端应用程序可以在本地验证业务实体数据。

     

  • 使用 XSD 架构接收业务文档时,业务过程可以验证这些文档。

     

  • 数据访问逻辑组件和存储过程可以验证数据,以确保引用的完整性并强制遵循约束以及重要的业务规则。

常用验证有两种:

 

  • 即时点验证。这是在一个特定时点执行的验证。例如,在接收 XML 文档时由业务过程对其进行验证。

     

  • 连续验证。这是在应用程序的许多不同层次上持续进行的一种验证。连续验证的示例包括:

     

    • 用户界面可以指定字段的最大长度以防止用户输入过长的字符串。

       

    • DataSet 可以指定数据列的最大长度。

       

    • 自定义业务实体组件可以对实体数据执行范围检查、长度检查、非空检查以及其他简单测试。

       

    • 数据访问逻辑组件、存储过程和数据库本身可以执行类似的测试,以便在将数据保存到数据库之前确保其有效性。

有时,您可能希望实现额外的聚合过程或转换过程。这种方法在验证和转换经常变化时可能很有用,但会损失性能。例如,如果一个 ISV 想要使用相同的组件支持数据库架构的两个版本,则您可以创建一个单独的组件来执行两个数据库架构版本之间的验证和转换。

如何使用 XSD 架构验证 XML

要使用 XSD 架构验证 XML 文档,请执行以下步骤:

 

  1. 创建一个 XmlValidatingReader 对象作为 XmlTextReader 对象的包装,如以下代码所示:

    ' 创建 XmlValidatingReader 对象,以读取和验证 Product.xml
                    XmlTextReader tr = new XmlTextReader("Product.xml");
                    XmlValidatingReader vr = new XmlValidatingReader(tr);

     

  2. 通过使用 ValidationType 枚举指定所需的验证类型。.NET Framework 支持三种类型的 XML 验证:

    文档类型定义 (DTD);指定 ValidationType.DTD

    Microsoft XML 精简数据 (XDR) 架构;指定 ValidationType.XDR

    W3C 标准 XSD 架构;指定 ValidationType.Schema

    以下代码显示了 ValidationType 枚举的使用:

    vr.ValidationType = ValidationType.Schema; ' 指定 XSD 架构验证

     

  3. 注册一个验证事件处理程序方法,如以下代码所示:

    vr.ValidationEventHandler += new ValidationEventHandler(MyHandlerMethod);

     

  4. 提供一个验证事件处理程序方法的实现,如以下代码所示:

    public void MyHandlerMethod(object sender, ValidationEventArgs e)
                    {
                    Console.WriteLine("验证错误:" + e.Message);
                    }

     

  5. 读取和验证文档,如以下代码所示。验证错误将被验证事件处理程序方法拾取。

    try
                    {
                    while (vr.Read())
                    {
                    // 适当处理 XML 数据...
                    }
                    }
                    catch (XmlException ex)
                    {
                    Console.WriteLine("XmlException: " + ex.Message);
                    }
                    vr.Close();

如何在业务实体组件的属性存取器中验证数据

以下代码片段显示了如何在自定义实体的属性存取器中进行简单验证。如果验证测试失败,您可以发出一个异常以显示问题的性质。也可以在属性存取器集合中使用正则表达式来验证特定的数据和格式。

public class ProductDALC
            {
            ...
            public short ReorderLevel
            {
            get { return reorderLevel; }
            }
            set
            {
            if (value < 0)
            {
            throw new ArgumentOutOfRangeException("ReorderLevel 不能为负数。");
            }
            reorderLevel = value;
            }
            // 加上 ProductDALC 类中的其他成员...
            }

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有