2010-06-01 95 views
5

我要創建一個新的asp.net網絡服務(.NET Framework 2.0),Web服務的功能是接收xml輸入,執行相關操作(添加/修改/刪除)基於指示操作狀態的輸入和返回代碼。我打算爲這個Web服務實現兩層體系結構(業務層和數據庫層),任何人都可以建議這是正確的結構還是其他任何結構都比這更好。基本上我需要一些關於設計Web服務的信息。ASP.NET網絡服務架構/結構

在此先感謝。

感謝, 穆魯

回答

3

領域模型應該表達的方式在業務邏輯上邊界的技術如WCF或ASP.NET Web服務獨立。

這增加了第三層的要求:

  • 服務
  • 域模型
  • 數據訪問

如果你不爲技術特有的接口一個單獨的層(服務),你可能只是做一個單一的,整體的應用程序,因爲無論如何你都無法重用業務邏輯。

雖然我們在這裏:使用WCF,而不是ASMX,用於Web服務。

0

我會寫一個使用ASMX的Web服務,因爲它更容易讓你的頭開始。

通過使用ADO或LINQ實現DAL(可能更簡單,因爲它爲您完成所有映射,學習新的imo也很好)。

你打算打電話給網絡服務?你有沒有考慮過你將如何返回狀態碼?您可以查看JavaScript和Ajax,以便您可以將自定義對象返回給客戶端,也可以查看基於xml的SOAP。

也可以推薦一個好的閱讀 - ASP.Net和Ajax:架構Web應用程序。可以給你一個更好的想法,你有什麼選擇。

0

我總是使用相同的模型:服務/業務層和數據庫層。 說到Visual Studio,我有4或5個項目:

1與webservice命名爲project.webservice(它唯一的任務是接收輸入並將該輸入提供給執行思考的層(業務層),所以測試easyly做業務層

1與命名project.service服務層來完成實際工作(決定操作應該是什麼,調用正確的方法分貝等)

1名爲project.datalayer的數據庫邏輯可能是ADO.Net代碼或實體框架。

1與稱爲project.model的數據類。這些類是由ADO.Net代碼返回並由服務和Web服務項目使用的類。如果我使用實體框架,我通常會跳過此項目,因爲EF本身爲我提供EF生成的數據類。有時客戶不想使用EF數據類,然後我創建project.model項目,讓數據層翻譯EF數據類,以project.model數據類

1名爲project.test

一跳testproject這有幫助,

Michel