我在找一种方式来连接COM +遗留应用程序的WCF服务,我一直在研究这个,因为一两天,我的天堂很幸运找到任何有用的信息,任何人都可以将我指向正确的方向吗?如何在C++ COM连接到WCF服务
我需要老COM +组件拨打电话到一个新的C#WCF服务所以我需要某种代理在COM组件抽象与服务的通信。
在此先感谢,我真的很感谢任何帮助。
我在找一种方式来连接COM +遗留应用程序的WCF服务,我一直在研究这个,因为一两天,我的天堂很幸运找到任何有用的信息,任何人都可以将我指向正确的方向吗?如何在C++ COM连接到WCF服务
我需要老COM +组件拨打电话到一个新的C#WCF服务所以我需要某种代理在COM组件抽象与服务的通信。
在此先感谢,我真的很感谢任何帮助。
我假设你的意思是你有一个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#。 I whiteboarded(archive)围绕它从您的原始白板的基本想法。
你好,其实是周围的其他方式,我想遗留应用程序调用WCF服务,所以我需要对COM通信代理执行对WCF服务的调用。 – 2010-07-02 23:39:35
对此感到抱歉。 – 2010-07-02 23:41:53
没问题,你有没有遇到过这个问题? – 2010-07-02 23:44:59
WCF服务名字对象可以为您的WCF服务自动生成COM代理。您的C++代码可以直接调用此代理,而无需编写任何C#代理代码或显式COM互操作代码。
看http://msdn.microsoft.com/en-us/library/ms729739(VS.85).aspx了解详情。
我特别推荐这个功能,主要是因为我拥有微软的功能。
你检查了这个线程http://stackoverflow.com/questions/1068762/calling-c-from-c-reverse-p-invoke-mixed-mode-dlls-and-c-cli – AndrewB 2010-07-03 00:08:54
是的,它可以在C#中创建一个代理,然后在C++上使用consum,是否有这个方法? 谢谢! – 2010-07-03 17:22:27
请更准确地了解您的需求。你是否需要现有的COM +代码来调用服务,或者是否需要该服务来调用COM +代码? – 2010-07-06 02:25:03