Точное определение термина 'маршалинг'

В Angular 4,

HTML:

<ion-input type="file" formControlName="avatar"></ion-input>
<button type="button" ion-button (click)="selectFile()"></button>

Javascript:

selectFile() {
    let element: HTMLElement = document.querySelector('input[type="file"]') as HTMLElement;
    element.click();
}

Это работа для меня.

12
задан Joel Coehoorn 5 June 2009 в 14:14
поделиться

5 ответов

На мой взгляд, маршалинг означает акт взятия объекта или данных, их подготовки к использованию в неродном контексте и последующего представления в этом внешнем контексте.

Я думаю. с точки зрения данных или объекта, «вводимых» в среду, в которой они не знакомы. Это может включать различное кодирование, оболочку и т. Д., И то, как объект передается, является важной частью процесса маршалинга.

Пока данные или объект не были фактически представлены в его новом контексте, я не считаю его маршалированным. . На этом этапе он только что был преобразован, зашифрован, упакован или что-то еще.

Например, JSON часто используется для передачи объекта или данных из одного процесса в другой. Когда вы конвертируете в JSON, я просто считаю это преобразованием из одной структуры данных в другую.

2
ответ дан 2 December 2019 в 23:31
поделиться

Как я понял, это подготовка данных, а не передача. Тем не менее, нередко использовать этот термин и для включения передачи (я тоже виновен в этом).

1
ответ дан 2 December 2019 в 23:31
поделиться

Маршалинг осуществляется исключительно через границу

Обычно используется для передачи объектов между двумя доменами приложений. Передача по сети - необязательная вещь, но процесс отправки объекта по сети - это сначала сериализация объекта, отправка обычно осуществляется по другому протоколу (tcp / ip).

0
ответ дан 2 December 2019 в 23:31
поделиться

Я думаю, что он может представлять оба сценария.

  • Только данные: рассмотрите сценарии PInvoke. Маршалинг обычно используется для описания процесса преобразования данных из формата .Net в соответствующий формат C.
  • Данные и вызов: рассмотрим вызовы COM, которые проходят через квартиры. В этом случае данные, необходимые для вызова и вызова, считаются маршалированными, поскольку фактический вызов должен пересекать границы COM-квартир. Я понимаю, что вы спрашивали об этом в контексте .Net, но я считаю, что это убедительный пример, связанный с .Net. Рассмотрим, например, использование ISynchronizedInvoke для перехода между потоками.
1
ответ дан 2 December 2019 в 23:31
поделиться

«Маршал» имеет несколько значений, но помимо титула, это означает. . .

маршал - мобилизация: приготовься к действие или использование; «упорядочить ресурсы»

Таким образом, это должно означать просто «упаковать», а не «упаковать и отправить».

1
ответ дан 2 December 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: