none
有两个问题请教 RRS feed

  • 问题

  •  

    1、 .net有没有比较好的框架介绍一下?比如分层 业务逻辑层、数据处理层 等等 如何去实现,最好举例些代码

    2、Connection是在系统刚刚登录后就打开和在每一个操作的时候进行打开操作完毕后进行关闭,哪个会比较好一些呢?哪一个更加浪费资源一些呢?


     

    初学,问的都是很菜的问题,请多多包含。

    2008年12月2日 2:43

答案

  •  沙尘暴 写:

     

    1、 .net有没有比较好的框架介绍一下?比如分层 业务逻辑层、数据处理层 等等 如何去实现,最好举例些代码

    2、Connection是在系统刚刚登录后就打开和在每一个操作的时候进行打开操作完毕后进行关闭,哪个会比较好一些呢?哪一个更加浪费资源一些呢?


     

    初学,问的都是很菜的问题,请多多包含。

     

    单就第二个问题对您提供一些信息

     

    首先 维护一个持续打开的数据连接的成本巨大    

    所以ado.net的数据访问核心  使用了连接池

    一个连接在close之后 并不会立即完全断开  而会在连接池中等待下一次连接。

    所以能够在打开一个曾经打开过的连接时   ado.net能够以极底的成本达到近乎“持续打开的数据连接”的效率

     

    所以在每一个操作的时候进行打开操作完毕后进行关闭     更节省各方面的资源

     

     

    顺便说   dataadepter   和 tableadepter对dataset 产生数据的时候  都是自动打开并且执行后关闭连接的
    2008年12月2日 4:37

全部回复

  •  沙尘暴 写:

     

    1、 .net有没有比较好的框架介绍一下?比如分层 业务逻辑层、数据处理层 等等 如何去实现,最好举例些代码

    2、Connection是在系统刚刚登录后就打开和在每一个操作的时候进行打开操作完毕后进行关闭,哪个会比较好一些呢?哪一个更加浪费资源一些呢?


     

    初学,问的都是很菜的问题,请多多包含。

     

    单就第二个问题对您提供一些信息

     

    首先 维护一个持续打开的数据连接的成本巨大    

    所以ado.net的数据访问核心  使用了连接池

    一个连接在close之后 并不会立即完全断开  而会在连接池中等待下一次连接。

    所以能够在打开一个曾经打开过的连接时   ado.net能够以极底的成本达到近乎“持续打开的数据连接”的效率

     

    所以在每一个操作的时候进行打开操作完毕后进行关闭     更节省各方面的资源

     

     

    顺便说   dataadepter   和 tableadepter对dataset 产生数据的时候  都是自动打开并且执行后关闭连接的
    2008年12月2日 4:37
  • 第一个问题实在有点笼统……因为.NET的框架类库是由为开发提供基础结构支撑的一系列类组成的,本身.NET就是一个框架结构。

    我想您可能是看了一些教材或者是听别人讲述过关于业务逻辑层、数据处理层等的名词。据我在学校听老师讲的是,这些分层都是针对具体的应用程序的(这样说是因为,我没有开发过企业级别的应用,所以具体的我也不是非常清楚)

     

    第二个问题的补充,Connection肯定是不应该打开过长时间的(您应该指的是ADO.NET数据访问的连接对象吧?)。

    因为数据库系统的连接数受系统资源、授权等等多种因素的影响,所以对于客户端访问来说要遵循的一个原则就是“尽可能晚地打开连接,尽可能早地关闭连接”(《ADO.NET 2.0 高级程序设计》,人民邮电出版社)。

    即使有连接池的机制,仍然需要这样做。过长时间保持连接都是不好的。

    2008年12月2日 13:06