我有一個現有的ASP.NET MVC 2客戶端應用程序,它使用RESTful WCF服務應用程序進行數據持久性。新的要求已經出現,以支持附加/關聯到我現有的一個域對象(產品)的圖像。作爲DTO或單獨上載的一部分的圖像附件(ASP.NET MVC 2和WCF REST)
當前,客戶端應用程序調用服務以獲取產品列表(以輕量級ProductInfo對象列表的形式),並將列表顯示給用戶。當用戶單擊列表中的項目時,客戶端調用服務以獲取支持用戶編輯的特定Product對象。保存後,客戶端將更新後的產品發佈到服務以實現持久性。
新需求要求我在列表中顯示關聯的圖像,並允許用戶在編輯產品時設置/替換圖像。當前圖像也顯示在產品編輯器中。每個產品只有一個圖像將被關聯,並且圖像將是必需的。
流是在客戶端和服務器之間傳遞圖像數據的最佳方式,還是應該使用Byte []?
對於這個列表,向Stream(或Byte [])類型的ProductInfo添加一個新的Image屬性是明智的還是需要單獨調用服務來下載圖像?
同樣對於編輯,我只是將圖像數據視爲任何其他屬性,並使用Image屬性在電線上來回傳遞它?
我正在使用WCF REST服務,所以webHttpBinding不使用SOAP。 – SonOfPirate 2011-05-12 20:03:09
編輯產品時,我擔心使用單獨的服務方法時,我會有1次調用來檢索產品詳細信息和另一個以獲取圖像,將其顯示給用戶,讓他們對產品說明進行更改&image,然後在一次操作中將更改提交回服務以更新描述&另一個更新圖像。這是2次操作的4次服務調用(獲取和更新)。這真的是處理它的最好方法嗎?更好地說,在獲取和發送產品時,將圖像數據與其他屬性包含在一起是否有問題? – SonOfPirate 2011-05-12 20:04:47
@SonOfPirate,如果你包含圖像數據作爲產品的一部分(一個'byte []'),你打算如何在HTML中顯示它?在所有''都希望其'src'屬性指向將返回圖像數據的服務器操作或內聯base64編碼。 – 2011-05-12 20:10:23