在页面生命周期内保持数据库连接打开是否可以接受?

Joh*_*yre 5 asp.net database-connection page-lifecycle

大家都知道你应该在完成使用后立即关闭连接.

由于我的域对象模型设计存在缺陷,我必须在整个页面生命周期中保持连接打开状态.本质上,我有一个Just In Time属性,它在第一次调用时打开一个连接,然后在Page.Unload(..)上它将检查数据库连接是否打开,如果是,则关闭它.由于它只需要一秒钟,我认为它与立即关闭它没有多大区别.

这个可以吗?或者它应该在每次使用后立即关闭吗?

提前致谢.

Sco*_*vey 7

不,不行.

如果您的应用程序需要增长或扩展,您将需要解决此问题.通过保持该连接打开,您将降低您的扩展能力.请记住,打开的连接会占用服务器上的内存,客户端上的内存,保持打开的锁等.


Mus*_*sis 2

这并不理想,但我不会重写我的应用程序。除非您的页面在各种方法中执行大量耗时的工作,否则整个页面生命周期应该快速执行。实际上,这可能只是意味着您的连接对象的打开时间比其他情况要长几毫秒。在某些情况下这可能很重要,但在您的情况下听起来并不那么重要。

  • 纯粹主义者很像西点军校(美国陆军学院)的教官——当子弹开始飞行时,他们所说的大部分内容很快就被忘记了。 (5认同)