當我去大學時,老師常說,在良好的結構化應用程序中,您有表示層,業務層和數據層。這是我聽了超過5年。n層應用程序中的WCF服務層:性能考慮
當我開始工作時,我發現這是事實,但有時更好的是不只有三層。兩三天前,我發現John Papa的this article解釋瞭如何在分層應用程序中使用實體框架。根據這篇文章,你應該有:
- UI和表示層(模型 - 視圖模式)
- 服務層(WCF)
- 業務層
- 數據訪問層
服務對我來說,圖層是我工作以來聽過的最好的創意之一。然後,您的用戶界面完全從業務和數據層「連接」。現在,當我深入查看提供的源代碼時,我開始有一些問題。你能幫我回答他們嗎?
問題#0:這是一個很好的enterpise應用程序模板在你看來?
問題#1:我應該在哪裏託管服務層?它應該是Windows服務還是其他?
問題#2:在提供的源代碼中,服務層只是暴露了一個WSHttpBinding端點。這是互操作性最強的綁定,但是(我認爲)在性能方面最差(由於對象的序列化和反序列化)。你同意嗎?
問題#3:如果您在問題2中同意我的意見,您會使用哪種綁定?
期待您的來信。週末愉快!
馬爾科
好,所以在我需要打開我的業務層到內部應用程序的情況下,你建議netTcp,但如果這必須由外部應用程序訪問,你建議webHttpBinding或webHttpBinding。完善。非常感謝。 – Marconline 2010-04-10 18:11:57
是的,絕對使用netTcp的內部應用程序和訪問 - 你最好的選擇。從外部來看,通常是不可能的(因爲事實上你必須在防火牆上打洞,才能使流量通過 - 大部分幾乎不可能做到......) – 2010-04-10 20:19:13