当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  .NET 数据访问架构指南 6

 .NET 数据访问架构指南 6

点击次数:17 次 发布日期:2008-11-26 10:38:40 作者:源代码网
源代码网推荐      使用UDL文件
源代码网推荐  
源代码网推荐    OLE DB .net数据供应器支持在它的链接字符串中使用统一数据链接(UDL)文件名。可以以构建参数的形式将链接字符串传给OleDbConnection对象,或利用对象的ConnectionString属性设置链接字符串。
源代码网推荐  
源代码网推荐    注意 SQL Server .NET数据供应器不支持在它的链接字符串中使用UDL文件。因此,只有使用OLE DB .NET数据供应器,此方法才有效。
源代码网推荐  
源代码网推荐    对于OLE DB 供应器,要利用链接字符串引用UDL文件,使用“File Name=name.udl.”。
源代码网推荐  
源代码网推荐    优点
源代码网推荐  
源代码网推荐    标准方法。你也许已经在用UDL文件进行链接字符串的管理了。
源代码网推荐  
源代码网推荐    缺点
源代码网推荐  
源代码网推荐  性能。每次打开链接时,包含UDLs的链接字符串都被读取并被解析。
源代码网推荐  
源代码网推荐  
源代码网推荐  安全性。UDL文件以纯文本格式存储。利用NFTS文件权限可以确保这些文件的安全性,但这样做将引发与使用.config文件相同的问题。
源代码网推荐  
源代码网推荐  
源代码网推荐  SqlClient对象不支持UDL文件。此方法不被 SQL Server .NET数据供应器所支持,而你要用此供应器访问 SQL Server 7.0及其以后版本。
源代码网推荐    更多信息
源代码网推荐  
源代码网推荐  必须确保管理员拥有该文件的读/写访问权限以便进行管理,并且还要确保运行应用程序的身份拥有读权限。对于ASP.NET Web应用程序,应用程序工作者进程默认是以SYSTEM帐号运行的,但利用机器范围的配置文件(Machine.config)中的元素可以将其覆盖掉。利用Web.config文件中的元素,及一个可选的指定帐号,可以进行冒充。
源代码网推荐  
源代码网推荐  
源代码网推荐  对于Web应用程序,要确保没有将UDL文件放在虚目录中,因为那样会使该文件可通过网络下载。
源代码网推荐  
源代码网推荐  
源代码网推荐    使用Windows注册表
源代码网推荐  
源代码网推荐    可以利用定制关键字将链接字符串存储在Windows注册表中,但由于部署问题,建议不要使用。
源代码网推荐  
源代码网推荐    优点
源代码网推荐  
源代码网推荐  安全性。利用访问控制列表(ACLs),可以对所选的注册表关键字的访问进行管理。对更高级别的安全性,考虑对数据进行加密。
源代码网推荐  
源代码网推荐  
源代码网推荐  通过程序易于访问。.NET类支持从注册表中读取字符串。
源代码网推荐  
源代码网推荐    缺点
源代码网推荐  
源代码网推荐  部署。相关的注册表设置必须同应用程序一起部署,从某种程度上抵消了xcopy部署的优点。
源代码网推荐  
源代码网推荐    使用定置文件
源代码网推荐  
源代码网推荐    可以使用定制文件来存储链接字符串,然而这种技术没有优点,因此并不推荐使用。
源代码网推荐  
源代码网推荐    优点
源代码网推荐  
源代码网推荐  没有
源代码网推荐    缺点
源代码网推荐  
源代码网推荐  额外编码。这种方法需要额外编码,并迫使你明确处理同时发生的问题。
源代码网推荐  
源代码网推荐  
源代码网推荐  部署。此文件必须同其它ASP.NET应用程序文件一起拷贝。避免将此文件放在ASP.NET应用程序的目录或子目录中,就可以阻止通过网络对其进行下载。
源代码网推荐    使用构建参数和COM+目录
源代码网推荐  
源代码网推荐    可以将链接字符串存储在COM+目录中,并利用对象的构造字符串将它自动地传递给对象。COM+在初始化对象,提供配置构造字符串后,将立即调用对象的Construct方法。
源代码网推荐  
源代码网推荐    注意这个方法只用于服务组件。只有管理组件使用了其它服务,如分布式事务处理支持或对象池化时,才考虑使用此方法。
源代码网推荐  
源代码网推荐    优点
源代码网推荐  
源代码网推荐  管理性。利用组件服务MMC插件,管理员可以很方便地配置链接字符串。
源代码网推荐  
源代码网推荐  缺点
源代码网推荐  
源代码网推荐  安全性。COM+目录被认为是一个不安全的存储区(虽然利用COM+角色你可以限制对它的访问),并因此不能用于以明文维护链接字符串。
源代码网推荐  
源代码网推荐  
源代码网推荐  部署。COM+目录中的条目必须随.NET应用程序一同部署。如果使用了其它企业服务,如分布式事务或对象池化,那么将数据库链接字符串存储在目录中不会增加部署的额外开销,因为要支持其它服务,必须部署COM+目录。
源代码网推荐  
源代码网推荐  
源代码网推荐  必须为组件提供服务。可以只为所服务的组件使用构造字符串。要使能构造字符串,不能简单地从ServicedComponent类中派生所需组件类(这将为组件提供服务)。
源代码网推荐    链接使用方式
源代码网推荐  
源代码网推荐    不管何种.NET数据供应器,你必须总是:
源代码网推荐  尽可能晚地打开数据库链接。
源代码网推荐  
源代码网推荐  
源代码网推荐  以尽可能短的时间使用该链接。
源代码网推荐  
源代码网推荐  
源代码网推荐  尽可能快地关闭该链接。链接直到通过Close或Dispose方法关闭后,它才返回到池中。即使发现它处于崩溃状态,也应当关闭它。这样做确保了它能返回池中,并被标记为无效。对象池周期性地扫描池,以查找已被标记为无效的对象。
源代码网推荐    为确保在方法返回前链接已经关闭,考虑使用下面两个代码片段中演示的方法。第一个示例使用了finally块,第二个示例使用了C# using声明,此声明确保了对象的Dispose方法被调用。
源代码网推荐  
源代码网推荐    下面的代码确保finally块关闭了链接。注意,此方法只用于Visual Basic .NET及C#中,因为Visual Basic .NET支持结构化例外处理。
源代码网推荐  
源代码网推荐  public void DoSomeWork()
源代码网推荐  {
源代码网推荐   SqlConnection conn = new SqlConnection(connectionString);
源代码网推荐   SqlCommand cmd = new SqlCommand("CommandProc", conn );
源代码网推荐   cmd.CommandType = CommandType.StoredProcedure;
源代码网推荐   try
源代码网推荐   {
源代码网推荐    conn.Open();
源代码网推荐    cmd.ExecuteNonQuery();
源代码网推荐    }
源代码网推荐   catch (Exception e)
源代码网推荐   {
源代码网推荐    // Handle and log error
源代码网推荐    }
源代码网推荐   finally
源代码网推荐   {
源代码网推荐    conn.Close();
源代码网推荐    }
源代码网推荐  }
源代码网推荐  
源代码网推荐    现在的代码显示了另外一种方法,此方法使用了C# using声明。注意,Visual Basic .NET并不支持using声明,或任何功能相同的对应语句。
源代码网推荐  
源代码网推荐  public void DoSomeWork()
源代码网推荐  {
源代码网推荐  // using guarantees that Dispose is called on conn, which will
源代码网推荐  // close the connection.
源代码网推荐  using (SqlConnection conn = new SqlConnection(connectionString))
源代码网推荐  {
源代码网推荐  SqlCommand cmd = new SqlCommand("CommandProc", conn);
源代码网推荐  fcmd.CommandType = CommandType.StoredProcedure;
源代码网推荐  conn.Open();
源代码网推荐  cmd.ExecuteQuery();
源代码网推荐  }
源代码网推荐  }
源代码网推荐  
源代码网推荐    此方法也适用于其它对象,如SqlDataReader 或OleDbDataReader,在其它任何对象对当前链接进行处理前,这些对象必须被关闭。
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华