【问题标题】:Is there a WCF equivalent to RPC context handles?是否有与 RPC 上下文句柄等效的 WCF?
【发布时间】:2010-10-31 02:03:04
【问题描述】:

我正在更新旧的 C++ 服务以使用 WCF 而不是 RPC,并且在发送和接收句柄(HANDLE、void*..etc)时使用什么类型存在问题。在更新的服务中,我目前使用 IntPtr,但这在从 64 位版本的服务转换为 32 位版本时不起作用。 IntPtr 无法反序列化,因为在内部它只是一个 void* ,具体取决于您在哪个环境中运行。

这解决了问题,因为 RPC 基础结构实际上从不发送句柄值,而是引用句柄的 GUID。此过程在以下文章中进行了描述:

See Context handles section

我正在寻找与此功能等效的 WCF。我可以自己在服务上编写类似的逻辑来执行此操作,甚至只是将 IntPtr 更改为 Int64,但我希望有类似于 RPC 方式的东西。

【问题讨论】:

    标签: c++ wcf rpc intptr handles


    【解决方案1】:

    我建议您重新设计任何这样的代码。传递句柄的最初原因可能不再有效。

    另外,我假设您在本机客户端和服务器之间传递句柄,但使用 WCF 您将使用托管代码。一侧的托管代码将如何处理另一侧的“句柄”?例如,将文件路径发送给对方并让对方打开文件,而不是传递文件句柄,这可能更有意义。

    这段代码可能是在 RPC 还不是一项旧技术的时候创建的。这表明它的其余部分也是使用与 RPC 相近的技术设计的。整个应用程序很可能需要针对现代世界进行重新设计。在该重新设计中,您可能会使用 WCF 来完成当前使用 RPC 完成的相同种类的事情;但不会是一对一的比赛。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 2011-06-03
      • 2020-08-04
      • 2017-04-15
      • 2022-06-30
      • 2012-12-01
      • 1970-01-01
      相关资源
      最近更新 更多