2013-03-23 182 views
0

我想爲我的下一個項目使用SOA架構。另外,我想使用WCF數據服務進行數據訪問層。例如,用戶想要接收某個日期的文檔。我們所說的WCF服務(服務層)來檢索文件SOA和WCF數據服務

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

在WCF服務,我們稱之爲bussines層(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數據服務的印象如何?

回答

1

我認爲DataServices是一項很酷的技術,但我認爲隱藏它們不是一個好主意。其實你並沒有真正隱藏服務,你只是不明確地調用。如果你想使用數據服務,你可以從你的asp.net代碼中調用服務。如果你想要的話,你可以使用dataservice中的特定方法來管理和限制你的數據(實體)..因爲我猜你正在使用EF :)

我認爲最好的地方做驗證是在你的asp.net代碼在創建課程的請求之前)。