2010-04-22 14 views
2

我目前正在处理服务器应用程序,它必须通过局域网中的TCP处理合理数量的客户端。服务器必须完成的任务从简单到复杂,其中大部分都包括某种形式的数据库交互。我想让数据库访问异步,因为并不是所有的查询都同样复杂。如何处理长时间运行的2层应用程序中的数据库访问?

我的问题是在这种应用程序中处理数据库访问的最佳方式是什么?使用持久层或DAL(例如NHibernate,Subsonic)是明智的吗?我担心潜在的泄漏,最终GC可能会对正常运行时间产生负面影响,以及在长时间运行的应用程序中需要考虑的问题。

回答

0

使用像NHibernate这样的O/RM工具最大的好处就是生产力。供应商多年来一直在研究这些工具,而平均o/RM工具的复杂程度目前远远超出了单个人或小团队的能力。

使用O/RM工具不一定会给您额外的休息时间。而O/RM工具并不完全是向导或快速应用程序开发工具。但它仍然是一种编程工具,也是一个复杂的编程工具。只要您了解该工具并提供完善的域模型,使用O/RM工具就可以提高您的生产力。

我对Subsonic并不熟悉,但NHibernate是一个成熟的产品,目前正在全球各地的大量企业应用程序中成功使用。如果产品存在重大缺陷,如泄漏或对正常运行时间产生负面影响,则肯定会对此进行检查和修复。

+0

这是关于使用O/RM工具与使用自己的方法进行比较的好处的更一般化的答案。我会将其标记为答案。 – 2010-04-24 07:33:23

相关问题