Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在两个独立的应用程序(C#)之间传输对象_C#_Oop_Object_Data Transfer_Transfer - Fatal编程技术网

在两个独立的应用程序(C#)之间传输对象

在两个独立的应用程序(C#)之间传输对象,c#,oop,object,data-transfer,transfer,C#,Oop,Object,Data Transfer,Transfer,是否可以将一个对象从一个应用程序转移到另一个应用程序(用C#)中 我正在使用CAD API。该API的初始化需要几秒钟(10-15)。如果我可以在App1中只初始化一次对象,并在需要时从App2调用它,那就太好了 有什么想法吗?谢谢 您可以通过您的对象执行此操作,并使用任何形式的来传输数据,然后在另一端对其进行反序列化 特别适合这种情况,并为您处理大部分管道。虽然里德的建议非常好,但它可能不是唯一值得考虑的可能性。10-15秒的初始化时间相当长。它可能正在初始化一些相当大、复杂的数据结构,这些结

是否可以将一个对象从一个应用程序转移到另一个应用程序(用C#)中

我正在使用CAD API。该API的初始化需要几秒钟(10-15)。如果我可以在App1中只初始化一次对象,并在需要时从App2调用它,那就太好了

有什么想法吗?谢谢

您可以通过您的对象执行此操作,并使用任何形式的来传输数据,然后在另一端对其进行反序列化


特别适合这种情况,并为您处理大部分管道。

虽然里德的建议非常好,但它可能不是唯一值得考虑的可能性。10-15秒的初始化时间相当长。它可能正在初始化一些相当大、复杂的数据结构,这些结构可能需要相当长的时间才能序列化和反序列化。如果是这样,可能值得考虑另一种可能性,例如创建一个进程外COM(或DCOM)服务器作为CAD API的前端,然后让App1和App2在一个位置与该服务器一起工作。这意味着对发送到CAD API或从CAD API接收到的所有数据进行编组和解编,但根据涉及的数据量以及(特别是)您需要从App1和App2使用的数据切换到App1和App2的频率,它的开销可能仍然较低。

在我看来,更简单的可能性是使用共享内存。这是Windows下进程间通信的常见机制。您可能想看一看。

“它可能正在初始化一些相当大、复杂的数据结构,这些结构可能需要相当长的时间才能进行序列化和反序列化。”----是的,这也是我所担心的。因为序列化和反序列化也可能需要10秒。但我会试试看。