【发布时间】:2012-03-13 02:06:48
【问题描述】:
我正在创建一个对象服务器端,它拥有代表对象客户端所需的所有数据。我希望我的客户端对象拥有的属性之一是它的图标。
目前,我有以下代码。还没跑,只是想和S.O讨论一些事情:
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.
}
}
在我看来,我有两个选择:
- 将 Icon 的 ID 存储为属性而不是 byte[]。
- 将图标存储为字节[]。
如果我使用前一个建议,我将需要通过将图标的 ID 传递给服务器来访问服务器并请求图像数据。我相信这将是一种更简单的方法——我只会返回一个包含图像的内存流并将该流加载到所需的位置。这样做的不利方面是服务器上的多次点击,这似乎是完全没有必要的。
如果我使用后一个建议,我将通过网络传递(显着?)大量数据。我不确定字节数组是否能够正确地 JSON 化。我不确定如何获取 jsonized byte[] 并将其转换为图像数据。
有没有人遇到过这种情况?我应该如何解决这个问题?谢谢。
编辑:在做了一些阅读之后,看起来前一个选项是我最好的选择。
【问题讨论】:
标签: javascript json image model-view-controller