我正在創建一個對象服務器端,它具有表示對象客戶端所需的所有數據。我希望我的客戶對象擁有的其中一個屬性是其圖標。將表示圖像的byte []返回爲JSON?
目前,我有以下代碼。它尚未跑了,我只是想討論與SO一些事情:
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.
}
}
在我看來,我有兩種方法可供選擇:
- 商店圖標作爲的ID屬性而不是byte []。
- 將圖標存儲爲字節[]。
如果我使用前面的建議,我需要去服務器並通過傳遞給服務器圖標的ID來請求圖像數據。我相信這將是一個更簡單的方法 - 我只會返回一個內存流,容納圖像並將該流加載到所需的位置。這個消極方面是在服務器上多次點擊,看起來完全沒有必要。
如果我使用後面的建議,我將在整個網絡中傳遞(顯着?)更大量的數據。我不確定字節數組是否可以正確JSON化。我不確定如何獲取jsonized byte []並將其轉換爲圖像數據。
有沒有人有這種情況的任何經驗?我應該如何解決這個問題?謝謝。
編輯:在做了一些閱讀後,它看起來像前選項是我最好的選擇。
我閱讀了關於畫布對象的HTML5文檔 - 這激起了我的興趣。我已經將這些圖像加載到畫布上 - 減少了服務器上的點擊量,同時充分利用畫布聽起來很理想。它看起來像一個'CanvasPixelArray'對象作爲數據。這種類型是否容易轉換爲字節數組? – 2012-02-22 18:14:28
對不起,我對這個幫助不夠了解。您可以在SO上的新問題中獲得一些具體幫助。 – Jordan 2012-02-22 20:17:19