更多的設計/概念問題。設計:網站在同一臺機器上調用web服務
在工作中,決定讓我們的數據訪問層通過webservices調用。所以我們的網站會調用webservices來處理數據庫中的任何/所有數據。 Web服務的網站&將位於同一臺計算機上(因此不會穿越網線),但該數據庫位於單獨的計算機上(因此無論如何都需要跨網線旅行)。這是全部內部的,網站,網絡服務和數據庫都在同一家公司內(AFAIK,網絡服務不會被另一方重複使用)。
據我所知:該網站將打開一個端口到webservices,並且webservices將打開另一個端口並通過網絡連接到數據庫服務器以獲取/提交數據。穿越電線的旅程是不可避免的,但我擔心站在中間的Web服務。
我同意需要在功能(如業務層,數據訪問層等)之間有不同層次,但這對我來說似乎過於複雜。我也感覺到會有一些性能問題。
在我看來,最好是在解決方案中直接引用(DAL)程序集,從而否定第一個端口到端口的連接。
支持和反對這個想法既任何想法(或鏈接),將不勝感激
附:我們是一個.NET商店(從vb遷移到C#3.5)
編輯/更新 標記Dathan作爲答案,我仍然沒有完全銷售(儘管傾斜它,我依然沒有完全賣掉沒有我擔心的那麼糟糕),他提供了一個深思熟慮的答案。我讚賞所有的反饋意見。
不使用網絡服務作爲您的DAO的鏈接。這對你的代碼以及你的web服務器來說是一個巨大的性能影響。爲什麼要添加該圖層?所以你可以使用AJAX調用來打DAO?你真的想讓你的用戶界面直接與你的DAO對話嗎? Bad move,imho – hunter