我刚刚使用WCF/REST Web服务使用Entity Framework访问数据库,应用一些次要业务逻辑并将结果传递给.NET Webforms前端,从而得到了一个小项目。这很奏效,但最初的设计却没有很多时间来调查选项,现在我被要求做另一个非常类似的项目。现在我有更多的时间去看看那里有什么,并且可能比第一个项目做得更好。WCF/REST Web服务,实体框架和WebForms前端之间的接口选项:我的选项是什么?
我想知道是否有更好的方法来完成一些事情,特别是在Web服务和前端之间来回传递对象。
对于第一个项目,我创建了一个包含Web服务和网站使用的类定义的共享库。当请求进入Web服务时,执行了数据库查询,应用了业务逻辑,并创建了其中一个共享类型的对象,并将其传回到Web服务响应中。
当网站得到响应时,它将其反序列化到适当的共享对象并继续其快乐的方式。
它工作正常,但有很多代码必须写入来定义共享对象,然后将查询结果/业务逻辑结果映射到共享对象。
有没有更好的方法?具体而言,我正在寻找的方法是:
自动生成对象。 (我不确定是否有 - 我似乎可以自动生成专门映射到数据库实体(如表或视图)的对象(事实上,这就是实体框架所做的),但是需要包含非数据库信息的对象又如何像商业逻辑可能添加的东西?)
删除Web服务和网站之间共享库的需求。我怀疑这可能存在,但我甚至不知道从哪里开始。
听起来你使用MVC?不确定映射到我正在做什么 - 对于这个项目,我使用的是.NET WebForms,这不是可以在这一点上改变的东西。 – BDW 2012-02-29 22:00:04
实际上它应该没关系。唯一的区别是注入你的依赖关系(管理者)会更加困难。否则,我的想法只是基于用户界面,服务,业务和持久性的概念。是的,MVC和关注点的分离使得这个更清晰,但同样没有必要。一旦你将你的模型传递给servicemanager,它就完全一样。 – 2012-03-01 01:41:10
好奇你为什么使用RestSharp而不是ServiceStack的内置ServiceClients?似乎你会节省更多的样板吗? – mythz 2012-03-01 08:13:29