12

在 .NET 世界中,编组仅意味着准备对象/数据以跨边界或通过线路传输,还是意味着准备跨边界或通过线路传输。

编组呼叫是什么意思。这是否意味着只是对上下文边界上的“传输”调用的打包,还是调用的打包和发送(即调用)?

对不起,我是个顽固的人……

克拉里

4

5 回答 5

2

在我看来,编组是指获取对象或数据,准备在非本地环境中使用,然后将其呈现给外部环境的行为。

我认为它是在不熟悉的环境中“引入”的数据或对象。这可能涉及不同的编码、包装器等,并且对象如何传输是编组过程的重要部分。

在数据或对象实际呈现给它的新上下文之前,我不认为它是编组的。那时它刚刚被转换、加密、包装或其他。

例如,JSON 通常用于将对象或数据从一个进程传输到另一个进程。当您转换为 JSON 时,我只考虑从一种数据结构到另一种数据结构的转换。一旦它通过电线传输,那么它就会被编组。

所以,没有上下文变化,没有编组。

那是我的两分钱。

于 2009-06-03T15:30:21.047 回答
1

据我了解,这是数据的准备,而不是传输。仍然使用该术语来包括转移并不少见(我也为此感到内疚)。

于 2009-06-03T15:29:19.427 回答
1

我认为它可以代表两种情况。

  • 仅数据:考虑 PInvoke 场景。Marshaling 通常用于描述将数据从 .Net 格式转换为相应的 C 格式的行为。
  • 数据和呼叫:考虑跨公寓的 COM 呼叫。在这种情况下,调用和调用所需的数据都被认为是编组的,因为实际调用必须跨越 COM 单元边界。我知道您在 .Net 的背景下提出了这个问题,但我相信这是一个与 .Net 相关的可靠示例。例如,考虑使用 ISynchronizedInvoke 在线程之间进行。
于 2009-06-03T15:35:37.013 回答
1

“元帅”有多种含义,但除了作为一个头衔之外,它还意味着。. .

元帅——动员:准备行动或使用;“元帅资源”

所以它应该只是“打包”的意思,而不是“打包和发送”。

于 2009-06-03T15:35:38.573 回答
0

编组纯粹是跨越边界

通常用于在 2 个 appDomain 之间传递对象。over the wire 部分是一个可选的东西,但是通过网络发送对象的过程首先是对象的序列化,发送通常是通过一些其他协议(tcp/ip)。

于 2009-06-03T15:38:27.963 回答