我正在使用EnterpriseServices AKA Com +中的ServicedComponent
我发现com +
中缺少的东西我知道WCF解决了一些与COM +相同的问题。但它能解决所有问题吗?有人能指出我正确的方向吗?
由于
答案 0 :(得分:7)
我对COM +的细节并不十分熟悉,但是WCF的构建是为了在.NET平台中取代它和企业服务。您在这里提到的所有用例都被纳入框架(池,事务,版本控制),并且只要您花时间学习它想要做什么,那么编写代码就非常简单。当你正确配置东西时,你可以用它做什么几乎没有限制。
WCF还支持微软为即时和长期未来(Azure服务)所做的很多工作。我认为这对您的学习时间来说是值得的投资,特别是考虑到您的COM +背景。
我强烈推荐Juval Lowy的书作为一个很好的起点。他可能会像你在这个主题上找到一样权威的声音。
我还建议您查看他的公司IDesign的网站。它们不仅提供了出色的培训,而且还有一个非常有用的WCF扩展库,名为ServiceModelEx,它提供了许多实用程序扩展/帮助程序类,使您的WCF生活更加轻松。
http://www.idesign.net/idesign/DesktopDefault.aspx
如果你正在寻找更多教程风格的书,Michele Leroux Bustamante的书也很不错。
答案 1 :(得分:3)
如果您想在组件上使用基于属性的事务,WCF可以为您完成。除了隐喻不再是COM +的组件;它现在是WCF中的服务。一个微妙但重要的转变。 WCF依赖于与COM +相同的事务基础结构(DTC)。
如果你只想在.NET中使用COM +,它的EnterpriseServices - 同样的模型,仍然需要使用DLL部署和版本控制。仍然可以获得汇集等。还可以获得暂停/恢复和一些其他新的ES功能。
如果您只想要一个事务编程模型,可以使用System.Transactions命名空间。
至于对象池 - 看两次。可能值得重新检查您对对象池的使用。年前,业界做出的假设,或者我们的理解,w.r.t。实例化对象的成本使我们得到了对象池的隐喻。这些假设和理解今天可能无效。换句话说,对象池可能对您的应用程序有用,也可能不对您的应用程序有用。它仍然在ES中,但是值得考虑是否需要它。
答案 2 :(得分:0)
你应该看看Enterprise Services。