我有三个项目:WCF的Business Objects或DataContracts
- WCF服务项目(接口和实现)
- ASPX Web项目(客户端)消耗WCF服务
- 类库项目保存我的业务对象(由WCF项目和客户端共享)
我有一个WCF服务实现类文件中的方法,它从SQL中检索数据的通用列表(引用包含业务对象的项目),使用System.Web.Script.Serialization.JavaScriptSerializer对数据进行序列化,并将结果作为字符串返回。
网页客户端采用此字符串和反序列化回相应的业务对象(引用保存业务对象的项目)
这是一个Intranet应用程序,我想确保我正确地做这个。
我的问题是:
- 我应该使用DataContracts而不是业务对象?不确定何时使用DataContracts以及何时使用业务对象。
- 如果我使用DataContracts,我不应该使用 System.Web.Script.Serialization.JavaScriptSerializer?
任何澄清将不胜感激。
感谢您的答复。一些问题到你的回应: – alpha
“不要使用业务对象,如果你必须大规模配置他们的序列化” - 我不是用任何类型的序列化装饰我的类,而是在我使用System序列化的服务类中。 Web.Script.Serialization.JavaScriptSerializer。你是什么意思“大规模配置他们的序列化”。 – alpha
另外,由于业务对象看起来像datacontracts,并且它们将用于充分扩充业务对象,因此在这种情况下,我看起来可以使用业务对象。我不打算使用DataContracts。 只是想确认。我见过他们推荐使用业务对象和数据合同的站点,并使用automapper来映射这两个站点。 – alpha