0

我有桌面应用程序,我需要将其移动到服务器,以便该应用程序的多个实例可以运行。

对于桌面应用程序,我使用 C++ 作为核心应用程序逻辑,并使用 C# 将其与前端集成。Desktop应用程序的架构如下:

1.为了在 C# 和 C++ 之间进行通信,我使用了 P/Invoke。2.C++还需要在不同的时间点将一些消息发送回C#。为此一个。C# 为 C++ 提供函数回调。湾。C ++将其存储在全局变量中

 typedef void (__stdcall *Callback) (BSTR str);
 Callback Handler;

 extern "C" 
 {
   void __declspec(dllexport) __stdcall SetCallback(Callback handler);
 }
  1. C#调用了多个函数,它们都是全局变量。
  2. 在应用程序内部,我启动了另一个线程,该线程打开套接字以与某些服务器进行通信。

将此应用程序转换为服务器端应用程序的最佳方法是什么?我可以继续使用 P/Invoke 吗?如果我必须将全局变量更改为类变量,我如何创建一个可以使用 P/Invoke 的类?或者我在 C# 中创建 C++ 代码的实例?(如何?)

请指导我这个。

谢谢

4

0 回答 0