Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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# 如何在应用程序域之间封送COM对象?_C#_.net_Com - Fatal编程技术网

C# 如何在应用程序域之间封送COM对象?

C# 如何在应用程序域之间封送COM对象?,c#,.net,com,C#,.net,Com,出于好奇——我一直在想,C#中的对象是如何编组的 据我理解,它们不能通过引用进行编组(不是从MarshallByRefObject派生)。我怀疑它们是可序列化的,所以也不是按值排序的——这只会留下出血。事情就是这样吗?或者还有其他工作吗 我在任何地方都没有找到这方面的信息。我基本上已经通过反复试验看到了通过这些。。。作品但我不知道为什么/如何,以及这是否适用于任何COM对象 在将这些组件传递给应用程序域时,是否需要考虑任何特定的陷阱?例如,是否需要在使用它们的每个域上显式释放它们?根据“COM组

出于好奇——我一直在想,C#中的对象是如何编组的

据我理解,它们不能通过引用进行编组(不是从MarshallByRefObject派生)。我怀疑它们是可序列化的,所以也不是按值排序的——这只会留下出血。事情就是这样吗?或者还有其他工作吗

我在任何地方都没有找到这方面的信息。我基本上已经通过反复试验看到了通过这些。。。作品但我不知道为什么/如何,以及这是否适用于任何COM对象


在将这些组件传递给应用程序域时,是否需要考虑任何特定的陷阱?例如,是否需要在使用它们的每个域上显式释放它们?

根据“COM组件在进程空间中加载,而不是在AppDomain的上下文中加载”的回答,AppDomains仅为托管对象提供隔离,COM对象不可用。此外,COM接口的托管包装器(派生自
System.\uu ComObject
)实际上派生自MarshalByRefObject。谢谢你们,这很有趣,我不知道。很高兴将这两个问题中的任何一个都标记为答案(如果发布为答案),谢谢!考虑到它是一个MARSALBYReFoTor,我想我需要考虑到这些管理(如登记赞助商等)的终身管理。