【问题标题】:How to host a WCF service in native C++ program如何在本机 C++ 程序中托管 WCF 服务
【发布时间】:2012-04-04 07:13:55
【问题描述】:

我有一个用 C# 编写的 Windows Communication Foundation (WCF) 服务。我需要将它托管在我的 C++ MFC 本机应用程序中(没有 C++/CLI)。我不知道该怎么做。客户端也是一个 C# 应用程序。

谁能帮帮我?

【问题讨论】:

  • 在视觉工作室?有没有办法在 IDE 中添加服务引用? :)
  • 您究竟为什么要这样做?有什么要求?请帮助我们了解您问题的“背景”——这将有助于我们为您提供更好、更明智的答案。恕我直言...
  • @PredragPejic - 所以你是说因为不在 IDE 中添加服务引用,所以我不能这样做。确实很有趣:)
  • @paulsm4 - 我们有一个大型 C++ 本机应用程序。有一些客户端应用程序使用这个本机程序的服务。这些客户端应用程序之一计划在 Windows 8 平板电脑(或未来的 iPad/Andriod)上运行。为了实现这一点,我们希望编写一个 WCF 服务,该服务将托管在本机应用程序中,直接与应用程序内部通信,并为 WCF 客户端(在本例中为平板电脑应用程序)提供服务。谢谢。
  • 不能用 wwsapi 将 wcf 服务转换为 windows web 服务?

标签: c# c++ wcf visual-studio-2010


【解决方案1】:

好的 - 如果您需要 WCF 服务,我强烈建议您在 .Net 中实现该服务并使用 IIS 发布它。

我敦促您忘记 MFC。 特别是如果您正在考虑使用 Windows Tablet 8。或 Apple iPad!

对于真正便携的平板电脑客户端,我强烈建议您“考虑 HTML5”并查看 AppCelerator Titanium 或 PhoneGap 之类的框架:

最后,如果您希望 WCF 服务(或任何 .Net 功能)“与 C++ 程序的内部进行通信”,您有很多选择。包括“互操作”:声明外部引用并简单地对非托管 (C++) 代码进行子例程调用:

恕我直言...

【讨论】:

  • 由于遗留应用程序复杂,我无法实施您建议的第一部分。但第二部分对我有用。谢谢。
【解决方案2】:

【讨论】:

  • 在 C++ 中使用 WCF 服务 - 不难。实现 WCF 服务(这是我认为 OP 想要做的) - 也是可能的。在 C++/MFC .exe 中实现 WCF 服务 - 嗯?!?我真的很困惑为什么 OP 要这样做......
  • @paulsm4 在没有 .exe 的情况下做到这一点?嗯。也许您可以将 MSIL exe 转换为 nativecode 之一,而不是使用可以将 dll 打包在与 exe 相同的文件中的那些程序之一。
  • @Nahum Litvin 我可以从 C++ 程序连接到 WCF 服务。但我想将 WCF 服务托管在 C++ 本机程序中,以便它可以与 C++ 程序的内部进行通信。
猜你喜欢
  • 1970-01-01
  • 2011-10-05
  • 2012-11-29
  • 2017-01-20
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多