我正在使用基于多层SOA的企业应用程序以及每个复杂的业务逻辑。许多业务验证需要来自数据库的大量支持数据,这会降低性能。并发用户数约为1000。 客户端是多层的WinForms。
我们正在考虑几乎所有的企业库块。
验证申请阻止
答案 0 :(得分:5)
在我看来,企业库所做的大部分工作都有更好的工具。
数据访问块
我承认自从我在一个项目上使用EntLib已经有几年了,但是我记得Data Block在它提供的内容方面非常有限。功能齐全的ORM就像NHibernate或Entity Framework,甚至像SubSonic这样的查询工具提供远更多。我工作的每个项目都没有使用NHibernate,我最终实现了NHib在“盒子里免费”的功能。
缓存应用程序块
使用带缓存的ORM将涵盖缓存块所做的大部分工作。
异常处理阻止
从这里开始有一些好主意,但概念可以大大改进。 Rinat Abdullin在leveraging action policies for exception handling上有一些很好的开始信息。
记录应用程序块
使用NLog或log4net。期。如果您需要外观,请使用Simple Logging Facade或Common.Logging。记录是一个非常有限的明确定义的组件。框架几乎相同且稳定。不需要过于复杂。
政策注入& Unity Block
研究DI / IoC并选择一个。不可能出错。这是a good list的一个要考虑的问题。
安全&验证块
此时,我们已经为这么多的EntLib找到了更好的选择,将它作为一个依赖项来支持安全性或验证感觉很重。同样,还有很多其他工具可以帮助确保安全性(Rhino Security)和验证(xVal,Lokad)
答案 1 :(得分:3)
我已经使用过(企业库的旧版本)一段时间并且没有任何问题。
我认为使用一组有凝聚力的库肯定有一个优势,而不是拼凑出一些库的补丁(如果你将要使用很多)。
我发现日志块非常好 - 它是高度可配置的,如果你使用它很好,你将能够全面,灵活地进行日志记录。