我有一个webforms应用程序,它包含一个3层的进程:Model,DAL,基于WebForms的Presentation。
现在我必须更新我的项目,以便它调用wcf服务从数据库获取数据。我已经在wcf上阅读了很多内容但是我不太了解带有DataContract和DataMembers的类的部分,因为我在模型层中定义了类。我使用这些类来创建具有entityframework的数据库。那么我需要再次在wcf中定义这些类吗?我是否使用dal层连接数据库?
我真的很陌生,如果问题不好,请原谅我。
答案 0 :(得分:0)
你必须单独在WCF中创建DataMembers,你要做的是,你的应用程序将调用业务层,业务层将调用WCF服务,并使用WCF服务调用Data Tier Layer并进行数据库操作,这是跟随它的方式。
你可以做的是为WCF服务添加另一个单独的层,给它提供DAL引用,同时也给BAL提供DAL引用。并且不会给任何人提供WCF项目引用,因为你希望它是RESTFULL(即只能通过HTTP访问,ftp类协议)
这里Iservice.cs只是将方法暴露给外部世界的界面,它描述了什么数据,以什么形式和在哪里找到它们。只需将该接口实现到WCF项目中的任何存储库类,这将进一步从DAL获取数据。商务层是唯一将与服务层交谈的层。
向BAL添加DAL引用仅适用于实体的元数据。