使用返回对象的Web服务时的最佳做法?

时间:2010-03-17 11:52:32

标签: asp.net web-services

我目前正在使用返回对象的网络服务,例如文件列表,例如文件数组。

我想知道将这种类型的对象直接绑定到我的前端代码(例如转发器/列表视图)或是否首先将其解析为我自己的“文件类”列表中的最佳做法,例如customFiles[]

如果Web服务发生变化,那么它将破坏我的前端代码,但是如果我创建自己的CustomFile类,那么我只需要在一个地方更改我的代码来解决问题,但它看起来好像很多从Web服务创建相同类的额外工作,我想知道这类工作的最佳实践是什么。

3 个答案:

答案 0 :(得分:2)

在正确封装实现细节方面存在微妙的平衡行为。太少的封装是维护的噩梦,因为任何区域的微小变化都会破坏应用程序。太多的层次是一种不同的维护问题。

在这种特殊情况下,我会在您的应用程序中创建一个小层来封装Web服务调用。这将简化您在应用程序和服务中的维护,因为它们将松散耦合。

答案 1 :(得分:1)

听起来你已经回答了自己的问题。最佳做法是根据您指出的原因创建自己的自定义类,但这是一项重要的额外工作。

如果Web服务不太可能改变,那么只需使用现有的类,但如果您需要满足更改,那么请创建自己的类。

答案 2 :(得分:0)

只要您的客户知道如何反序列化它,就可以返回一个类。如果它真的是一个Web服务,您无法控制对话的两端,那么从XML请求和响应流的模式开始更为常见。这将客户端与Web服务分离得更多,允许任何可以通过HTTP发送XML并使用XML响应公平游戏的客户端。