Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SOA和WCF数据服务_C#_Asp.net Mvc_Wcf_Architecture_Soa - Fatal编程技术网

C# SOA和WCF数据服务

C# SOA和WCF数据服务,c#,asp.net-mvc,wcf,architecture,soa,C#,Asp.net Mvc,Wcf,Architecture,Soa,我想在下一个项目中使用SOA体系结构。另外,我想在数据访问层使用WCF数据服务。例如,用户希望接收特定日期的文档。我们调用WCF服务(服务层)来检索文档 public ActionResult GetDocumentByDate(DateTime date) { var request = // here create request object; var documentsDto = _documentService.GetDocument(request); ...

我想在下一个项目中使用SOA体系结构。另外,我想在数据访问层使用WCF数据服务。例如,用户希望接收特定日期的文档。我们调用WCF服务(服务层)来检索文档

public ActionResult GetDocumentByDate(DateTime date)
{
    var request = // here create request object;
    var documentsDto = _documentService.GetDocument(request);
   ...
}
在WCF服务中,我们称之为业务层(BL):

公共类文档服务:IDocumentService
{
公共IEnumerable GetDocumentsByDate(DocumentsByDaterRequest请求)
{
//从DocumentLogic调用GetDocumentsByDate
}
}
公共类文档逻辑
{
公共IEnumerable GetDocumentsByDate(日期时间日期)
{
//打电话给达尔
}
}
我想使用WCF数据服务获取数据。我没用过这项技术

最好将WCF数据服务隐藏在服务层后面,或者它们应该可用,只要SL通过WCF数据服务访问数据?

在这种情况下,外部世界将看到WCF服务和WCF数据服务。
根据示例,在哪里进行验证更好?


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

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

我认为最好在asp.net代码中进行验证(当然,在创建请求之前)

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
    }
}