MSDN文档指出:
StreamingContextStates.CrossAppDomain specifies that the source or destination context is a different app-domain.
我知道app-domains是什么,但它仍无法帮助我理解StreamingContextStates
的实际想法。
有人可以用简单(技术性较低)的语言向我解释。
我只是通过阅读它的文档来理解一个概念并不擅长。
答案 0 :(得分:2)
这里的想法是如果你想要,你可以通过在不同场景中使用不同的序列化来节省资源。例如,您的某些数据可能位于某些操作系统资源中,可用于整个过程。
如果您在一个进程中有多个AppDomain
,并且正在使用远程处理它们之间进行通信,那么当您发现CrossAppDomain
选项时,您可能只是复制底层操作系统句柄 - 现有句柄从AppDomain
开始一样有效,因为操作系统处理器并不真正了解app-domains。
IIRC,string
实际上对整个流程空间都有效,无需序列化 - 因此这可能只是保留引用的一个有趣的案例。
其他选项可以是同一个应用程序域,同一台机器,不同机器等。
但是,IMO会让您面临更多复杂性。在非常专业的情况下,这只值得担心。在一般情况下,最好只是序列化为预定义的存储表示,然后重新水化。