我打算爲小型&中型企業構建生產應用程序。這是一個Intranet應用程序,最多有15到30個併發用戶。所提出的架構是:Intranet應用程序的體系結構
- 客戶:Firefox瀏覽器
- UI:HTML,JavaScript中,CSS
- 通訊通過:jQuery的AJAX
- 中間層:窗口服務託管WCF服務(使用的WebHttpBinding)
- 數據庫:SQLServer 2012易捷版
在此體系結構中,缺少的部分是將服務於靜態HTML頁面。我不希望主要與IIS去的,因爲以下原因中:
- 保持部署下來的成本
- 大部分工作是在窗口服務正在做託管WCF服務
由於大多數中間層工作是由託管WCF服務的Window Service完成的,而且我的UI是HTML,JavaScript & CSS,我們可以不使用Web服務器(如IIS或其他支持ASP.NET技術的WebServers),並使用輕量級Web服務器只有像lighttpd,nginx等靜態HTML頁面?
這些輕量級Web服務器是否像lighttpd,nginx適合在生產環境中託管。
可能存在一個AJAX跨域請求作爲託管WCF服務的Window Service的問題,輕量級WebServer可能在不同的端口上運行,但在相同的IP地址上運行。我們可以通過打開它來跨越域請求,因爲它是一個Intranet應用程序。
這個架構背後的想法之一是,我想嘗試在其他規模較大的項目中重複使用它。
請讓我知道,如果這是可能的和相關的利弊&缺點這種方法。我也接受任何其他建議,這些建議將幫助我改進此架構。
我同意安德斯。 Yuvi如果你在WCF上託管這個,這對未來的重用有什麼幫助?無論您是否使用iis,您仍然會被綁定到windows(或至少.net)。我沒有得到你想要做的事 - 這只是一個Web應用程序,而且基於IIS的MVC恰恰是這項工作的正確工具,除非你想使用node.js或其他東西。 – 2013-05-13 13:36:13
休,在任何n層應用程序中,您都需要某種中間層。這可以是普通的Windows服務,託管WCF的Windows服務或IIS等Web服務器。 上面的例子只是一個起點。我正在嘗試開發一種可幫助我重新用於大型項目的架構。我想要消除IIS的原因之一是成本。如果我有我自己的服務,則不涉及成本。 – 2013-05-14 04:30:59
但是你想避免什麼成本?你在談論Windows服務器授權費用嗎? – 2013-05-14 08:46:26