Я создаю объект на стороне сервера, который должен иметь все данные, необходимые для представления объекта на стороне клиента. Одно из свойств, которое я хотел бы, чтобы мой клиентский объект имел, - это его значок.
В настоящее время у меня есть следующий код. Он еще не запускался, я просто хотел кое-что обсудить с С.О:
public class ComponentDiagramPolygonChild
{
IconServicesSoapClient IconServicesProxy = new IconServicesSoapClient("IconServicesSoap");
public string Name { get; set; }
public byte[] Icon { get; set; }
public ComponentDiagramPolygonChild(PlanViewComponent planViewComponent)
{
Name = planViewComponent.Name;
//TODO: Can icon ever return null here?
Icon = IconServicesProxy.GetIconByID(planViewComponent.Icon).Image;
planViewComponent.
}
}
Мне кажется, у меня есть два варианта:
- Сохранить идентификатор значка как свойство вместо байта [].
- Сохранить иконку как байт [].
Если я воспользуюсь предыдущим предложением, мне нужно будет выйти на сервер и запросить данные изображения, передав серверу идентификатор значка. Я считаю, что это был бы более упрощенный подход - я бы просто вернул поток памяти, содержащий изображение, и загрузил этот поток в нужное место. Негативным аспектом этого является несколько попаданий на сервер, которые кажутся совершенно ненужными.
Если я воспользуюсь последним предложением, я буду передавать (значительно?) Больший объем данных по сети. Я не уверен, что байтовые массивы могут быть JSONized должным образом. Я не уверен, как взять jsonized байт [] и преобразовать его в данные изображения.
У кого-нибудь есть опыт в этой ситуации? Как я должен заняться этим? Благодаря.
РЕДАКТИРОВАТЬ: После некоторого чтения, похоже, что первый вариант - мой лучший выбор.