我正在寻找一种方法将COM +遗留应用程序连接到WCF服务,我已经研究了几天,我很幸运能找到任何有用的信息,任何人都可以指出我正确的方向在这?
我需要旧的 COM +组件来调用新的C#WCF服务所以我需要在COM 组件中使用某种代理来抽象与服务的通信
在此先感谢,我真的很感激任何帮助。
答案 0 :(得分:1)
我认为你的意思是你有一个WCF服务,并且运行你的WCF服务的代码需要调用你的遗留应用程序并将这些数据发送到WCF服务中,这是正确的吗?如果是这种情况,那么问题的WCF方面实际上是无关紧要的。
您要解决的是如何让您的.NET应用程序向您的旧应用程序说COM。
结帐:Introduction to COM Interop和COM Interop Tutorials。
您需要为COM组件生成类型库,在C#项目中引用它们和System.Runtime.InteropServices
,然后您可以调用遗留应用程序代码的COM边界。如果您搜索COM Interop Tutorial,那么还有很多其他示例和教程。
修改强>:
我更多地考虑了你的问题。您需要通过创建一个“看起来”像旧服务器(所有相同的COM +接口等)的服务器来实现代理,然后将请求(通过制作新请求)转发到您的WCF服务。 You can do this in C#。我whiteboarded(archive)从原始白板上围绕它的基本想法。
答案 1 :(得分:1)
WCF服务名字对象可以为您的WCF服务自动生成COM代理。您的C ++代码可以直接调用此代理,而无需编写任何C#代理代码或显式COM互操作代码。
查看http://msdn.microsoft.com/en-us/library/ms729739(VS.85).aspx了解详情。
我特别推荐此功能主要是因为我拥有Microsoft的功能。