0

我想在我的下一个项目中使用 SOA 架构。另外,我想将 WCF 数据服务用于数据访问层。例如,用户想要接收某个日期的文档。我们调用WCF服务(Service Layer)来检索文档

public ActionResult GetDocumentByDate(DateTime date)
{
    var request = // here create request object;
    var documentsDto = _documentService.GetDocument(request);
   ...
}

在 WCF 服务中,我们称之为业务层(BL):

public class DocumentService:IDocumentService
{
     public IEnumerable<DocumentDto> GetDocumentsByDate(DocumentsByDateRequest request)
     {
          // call GetDocumentsByDate from DocumentLogic
     }
}

public class DocumentLogic
{
    public IEnumerable<Document> GetDocumentsByDate(DateTime date)
    {
        // call DAL
    }
}

我想使用 WCF 数据服务来获取数据。我没有使用过这项技术。

将 WCF 数据服务隐藏在服务层之后是一种很好的做法,或者它们应该可用,只是 SL 通过 WCF 数据服务访问数据?

在这种情况下,外界将看到 WCF 服务和 WCF 数据服务。
按照例子,哪里做验证比较好?

最后是一般性问题,您对 WCF 数据服务的印象如何?

4

1 回答 1

1

我认为 DataServices 是一项很酷的技术,但我认为对用户隐藏它们是一个坏主意。实际上,您并没有真正隐藏服务,只是没有显式调用。如果您想使用数据服务,您可以从您的 asp .net 代码中调用该服务。如果您愿意,您可以使用数据服务中的特定方法管理和限制您的数据(实体)。我猜您正在使用 EF :)

我认为进行验证的最佳位置是在您的 asp .net 代码中(当然是在您创建请求之前)。

于 2013-03-24T09:13:12.417 回答