作为DTO的一部分或单独上载的图像附件(ASP.NET MVC 2和WCF REST)
我有一个现有的ASP.NET MVC 2客户端应用程序,它使用RESTful WCF服务应用程序进行数据持久化。出现了一个新的要求,即支持附加到/关联到我的现有域对象(产品)之一的图像 当前,客户端应用程序调用该服务以获取产品列表(以轻量级ProductInfo对象列表的形式),并向用户显示该列表。当用户单击列表中的某个项目时,客户端将调用该服务以获取支持用户编辑的特定产品对象。保存后,客户端将更新后的产品发布到服务以进行持久化 新要求要求我在列表中显示相关图像,并允许用户在编辑产品时设置/替换图像。当前图像也显示在产品编辑器中。每个产品仅关联一个图像,并且需要该图像作为DTO的一部分或单独上载的图像附件(ASP.NET MVC 2和WCF REST),wcf,asp.net-mvc-2,wcf-rest,Wcf,Asp.net Mvc 2,Wcf Rest,我有一个现有的ASP.NET MVC 2客户端应用程序,它使用RESTful WCF服务应用程序进行数据持久化。出现了一个新的要求,即支持附加到/关联到我的现有域对象(产品)之一的图像 当前,客户端应用程序调用该服务以获取产品列表(以轻量级ProductInfo对象列表的形式),并向用户显示该列表。当用户单击列表中的某个项目时,客户端将调用该服务以获取支持用户编辑的特定产品对象。保存后,客户端将更新后的产品发布到服务以进行持久化 新要求要求我在列表中显示相关图像,并允许用户在编辑产品时设置/替换
对于编辑,您可以使用一种服务方法,该方法将获取您正在更新的项目的字节数组和id。虽然我很欣赏Darin的回答,并且最初是沿着这条路径前进的,但我最终还是采用了中概述的相同方法 第6章描述了如何将图像上载为产品对象编辑页面的一部分,然后在另一个页面中使用控制器操作进行显示。我的应用程序中唯一的区别是持久性是通过RESTfulWeb服务接口在不同的层中处理的。然而,基于书中展示的方法,我决定使用一个DTO,它包含二进制图像数据的属性和字符串MIME类型信息
如果我有一个不同的UI或一个更重的对象要传递,我肯定会重新考虑这种方法,但对我来说,这一次,效果很好。虽然我很欣赏Darin的反应,并最初沿着这条道路前进,但我最终还是采用了中概述的相同方法 第6章描述了如何将图像上载为产品对象编辑页面的一部分,然后在另一个页面中使用控制器操作进行显示。我的应用程序中唯一的区别是持久性是通过RESTfulWeb服务接口在不同的层中处理的。然而,基于书中展示的方法,我决定使用一个DTO,它包含二进制图像数据的属性和字符串MIME类型信息
如果我有不同的UI或更重的对象要传递,我肯定会重新考虑这种方法,但对我来说,这一次效果很好。我使用的是WCF REST服务,所以webHttpBinding不使用SOAP。在编辑产品时,我关心的是使用单独的服务方法,我将有一个调用来检索产品详细信息,另一个调用来获取图像,将它们显示给用户,让他们对产品描述和图像进行更改,然后在一个操作中将更改提交回服务以更新描述,另一个操作更新图像。这是2个操作(获取和更新)的4个服务调用。这真的是最好的处理方法吗?更好