我们的新应用程序 1)Web应用程序(MVC3) 2)Web服务 需要通过基于COM的业务层的互操作进行通信
我们计划在.Net中为业务层创建一个包装器,以便从上面的2中解除COM dll,以便我们有一个位置(包装器)来进行任何增强或完全将COM替换为其他内容。
For eg: if there is a COMClassA and ICOMClassA. create a new WrapperClassA in .Net which will essentially have an instance of the COMClassA and required properties.
在Web应用程序和Web服务中使用WrapperClassA
我的问题
1)这是正确的方法吗?
2)如果是这样的话。创建.Net Wrapper的最佳方法是什么
COM dll有大约100多个类和相应的接口。任何代码生成技术?
3)我们可以使用一些设计模式来最小化代码生成
或者是否有其他替代方案可以解耦基于COM的业务层
请注意:我们不希望创建Web服务并在ASP .Net Application中使用,因为我们认为可能存在相当大的性能问题。
任何帮助将不胜感激。 Stackoverflow社区你做得很好。
TIA
答案 0 :(得分:0)
David Wheeler -
计算机科学中的任何问题都可以通过另一层间接解决。
我同意你问题中的以下陈述:
我们计划在.Net中为业务层创建一个包装器,以便从上面的2中解除COM dll,以便我们有一个位置(包装器)来进行任何增强或完全将COM替换为其他内容。
这使您可以“挑选”您的问题区域,重写区域或单独留出区域。我几乎可以保证至少有一个COM组件执行一些黑魔法......五年前由一些前顾问或前雇员写的...... LOL
不幸的是,据我所知,您必须手动编写/设计间接层(或层)。但是,一些VS.NET(和Resharper和CodeRush)重构/自动生成方法会帮助你一点点。但是在一天结束时你比任何人(或任何工具)都更了解你的产品(和设计)。