我有三个项目:
我在WCF服务实现类文件中有一个方法,它从SQL中检索一个通用的数据列表(引用包含业务对象的项目),使用System.Web.Script.Serialization.JavaScriptSerializer序列化数据并返回结果为字符串。
Web客户端获取此字符串并将其反序列化为相应的业务对象(引用包含业务对象的项目)
这是一个内联网应用程序,我想确保我正确地执行此操作。
我的问题是:
任何澄清都将不胜感激。
答案 0 :(得分:0)
当然没有一个答案。我认为问题在于你是否想要首先使用业务对象,否则我的第四点几乎涵盖了它。
如果业务对象看起来像数据合同那样,请使用它们,即它们是一堆公共属性,并且不包含子/孙子等的集合。
如果业务对象包含您不需要的大量数据,请不要使用它们。例如,使用数百个实体填充网格,以获取特定于该网格的数据协定。
如果业务对象包含您必须在Web服务中复制的验证逻辑等,请使用它们。
如果您打算使用数据协定来完全膨胀业务对象,请使用业务对象。
如果您想要从非.net代码使用该服务接口,请不要使用业务对象。
如果必须大规模配置序列化,请不要使用业务对象。
如果业务对象需要“知道”它们的位置(Web服务器或应用服务器),请不要使用它们
不是您的情况,但是:如果要构建用于数据输入的富客户端,请使用业务对象。
现在一切都好,我会看看是否还有其他事情发生在我身上。 :)