C# .Net Wrapper for COM Dll

本文关键字:COM Dll for Wrapper Net | 更新日期: 2023-09-27 18:33:57

我们的新应用程序1( 网络应用程序 (MVC3(2( 网络服务需要通过互操作与我们基于 COM 的业务层进行通信

我们计划在 .Net 中为业务层创建一个包装器,以将 COM dll 与上述 2 个分离,以便我们有一个地方(包装器(进行任何增强或完全将 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包装器的最佳方法是什么。
COM dll 大约有 100+ 个类和相应的接口。任何代码生成技术?
3(我们可以使用一些设计模式来最小化代码生成吗 或者是否有任何其他替代方法可以分离基于 COM 的业务层

请注意:我们不希望创建 Web 服务并在 ASP .Net 应用程序中使用,因为我们认为可能存在相当大的性能问题。

任何帮助将不胜感激。Stackoverflow社区你做得很好。

蒂亚

C# .Net Wrapper for COM Dll

David Wheeler -

计算机科学中的任何问题都可以通过另一层间接来解决。

我同意你问题中的以下陈述:

我们计划在 .Net 中为业务层创建一个包装器,以将 COM dll 与上述 2 个分离,以便我们有一个地方(包装器(进行任何增强或完全将 COM 替换为其他内容。

这允许您"选择"问题区域、重写区域或保留单独区域。 我几乎可以保证您的 COM 组件中至少有一个执行了一些黑魔法......五年前由一些前顾问或前雇员撰写......大声笑

不幸的是,据

我所知,您将不得不手动编码/设计您的间接层(或层(。 但是,一些 VS.NET(以及Resharper和CodeRush(重构/自动生成方法会对您有所帮助。 但归根结底,比任何人都更了解你的产品(和设计(。